comparison th_string.c @ 241:d0bf513f2118

Add some comments.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 16 Feb 2016 16:29:25 +0200
parents 5e781dba6136
children 11f8cd7d73d3
comparison
equal deleted inserted replaced
240:5e781dba6136 241:d0bf513f2118
157 } 157 }
158 158
159 // Calculate necessary padding, if any 159 // Calculate necessary padding, if any
160 int nwidth = width - pos; 160 int nwidth = width - pos;
161 161
162 // Suffix padding? 162 // Prefix padding?
163 if (padMode != '-' && nwidth > 0) 163 if (padMode != '-' && nwidth > 0)
164 { 164 {
165 while (nwidth--) 165 while (nwidth--)
166 { 166 {
167 if ((ret = vputch(ctx, padMode)) == EOF) 167 if ((ret = vputch(ctx, padMode)) == EOF)
195 const char *str, const char padMode, const int width) 195 const char *str, const char padMode, const int width)
196 { 196 {
197 int nwidth = width - strlen(str); 197 int nwidth = width - strlen(str);
198 int ret = 0; 198 int ret = 0;
199 199
200 // Prefix padding?
200 if (padMode != '-' && nwidth > 0) 201 if (padMode != '-' && nwidth > 0)
201 { 202 {
202 while (nwidth--) 203 while (nwidth--)
203 { 204 {
204 if ((ret = vputch(ctx, padMode)) == EOF) 205 if ((ret = vputch(ctx, padMode)) == EOF)
210 { 211 {
211 if ((ret = vputch(ctx, *str++)) == EOF) 212 if ((ret = vputch(ctx, *str++)) == EOF)
212 goto out; 213 goto out;
213 } 214 }
214 215
216 // Postfix padding?
215 if (padMode == '-' && nwidth > 0) 217 if (padMode == '-' && nwidth > 0)
216 { 218 {
217 while (nwidth--) 219 while (nwidth--)
218 { 220 {
219 if ((ret = vputch(ctx, ' ')) == EOF) 221 if ((ret = vputch(ctx, ' ')) == EOF)
243 BOOL sign = FALSE; 245 BOOL sign = FALSE;
244 int width = 0, prec = 0; 246 int width = 0, prec = 0;
245 247
246 fmt++; 248 fmt++;
247 249
250 // Check sign
248 if (*fmt == '+') 251 if (*fmt == '+')
249 { 252 {
250 sign = TRUE; 253 sign = TRUE;
251 fmt++; 254 fmt++;
252 } 255 }
253 256
257 // Check for padding
254 if (*fmt == '0' || *fmt == '-' || *fmt == '\'') 258 if (*fmt == '0' || *fmt == '-' || *fmt == '\'')
255 { 259 {
256 padMode = *fmt++; 260 padMode = *fmt++;
257 if (padMode == '\'') 261 if (padMode == '\'')
258 { 262 {
264 268
265 if (*fmt == 0) 269 if (*fmt == 0)
266 goto out; 270 goto out;
267 } 271 }
268 272
273 // Get width
269 while (th_isdigit(*fmt)) 274 while (th_isdigit(*fmt))
270 width = width * 10 + (*fmt++ - '0'); 275 width = width * 10 + (*fmt++ - '0');
271 276
277 // Check for precision
272 if (*fmt == '.') 278 if (*fmt == '.')
273 { 279 {
274 fmt++; 280 fmt++;
275 if (!th_isdigit(*fmt)) 281 if (!th_isdigit(*fmt))
276 goto out; 282 goto out;