Mercurial > hg > th-libs
comparison th_string.c @ 387:56ec224421a6
Comments.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 03 Mar 2016 13:17:40 +0200 |
parents | 2974ce76da8a |
children | 3f878ae15050 |
comparison
equal
deleted
inserted
replaced
386:2974ce76da8a | 387:56ec224421a6 |
---|---|
237 buf[f_len++] = '0'; | 237 buf[f_len++] = '0'; |
238 buf[f_len] = 0; | 238 buf[f_len] = 0; |
239 } | 239 } |
240 } | 240 } |
241 | 241 |
242 // Get alternative format string, if needed and available | |
242 f_altstr = vret != 0 && (f_flags & TH_PF_ALT) && f_alt != NULL ? f_alt(buf, vret, f_flags) : NULL; | 243 f_altstr = vret != 0 && (f_flags & TH_PF_ALT) && f_alt != NULL ? f_alt(buf, vret, f_flags) : NULL; |
243 | 244 |
244 // Are we using a sign prefix? | 245 // Are we using a sign prefix? |
245 f_sign = f_unsig ? 0 : ((f_flags & TH_PF_SIGN) ? | 246 f_sign = f_unsig ? 0 : ((f_flags & TH_PF_SIGN) ? |
246 (f_neg ? '-' : '+') : | 247 (f_neg ? '-' : '+') : |
258 #ifdef TH_PRINTF_DEBUG | 259 #ifdef TH_PRINTF_DEBUG |
259 printf("W2: vret=%3d, f_flags=[%s], f_width=%3d, f_prec=%3d, f_sign='%c', nwidth=%d\n", | 260 printf("W2: vret=%3d, f_flags=[%s], f_width=%3d, f_prec=%3d, f_sign='%c', nwidth=%d\n", |
260 vret, get_flags(f_flags), f_width, f_prec, f_unsig, f_neg, f_sign, nwidth); | 261 vret, get_flags(f_flags), f_width, f_prec, f_unsig, f_neg, f_sign, nwidth); |
261 #endif | 262 #endif |
262 | 263 |
263 // Prefix padding? | 264 // Prefix padding |
264 if ((ret = th_printf_pad_pre(ctx, vputch, nwidth, f_flags)) == EOF) | 265 if ((ret = th_printf_pad_pre(ctx, vputch, nwidth, f_flags)) == EOF) |
265 return ret; | 266 return ret; |
266 | 267 |
267 // Do we want a sign prefix? Not for unsigned values | 268 // Sign prefix |
268 if (f_sign && (ret = vputch(ctx, f_sign)) == EOF) | 269 if (f_sign && (ret = vputch(ctx, f_sign)) == EOF) |
269 return ret; | 270 return ret; |
270 | 271 |
272 // Alternative format string | |
271 if (f_altstr && (ret = th_vprintf_put_pstr(ctx, vputch, f_altstr)) == EOF) | 273 if (f_altstr && (ret = th_vprintf_put_pstr(ctx, vputch, f_altstr)) == EOF) |
272 return ret; | 274 return ret; |
273 | 275 |
276 // Zero padding | |
274 if (f_prec > 0 && (ret = th_vprintf_put_repch(ctx, vputch, f_prec, '0')) == EOF) | 277 if (f_prec > 0 && (ret = th_vprintf_put_repch(ctx, vputch, f_prec, '0')) == EOF) |
275 return ret; | 278 return ret; |
276 | 279 |
277 // Output the value | 280 // Output the value |
278 while (f_len-- > 0) | 281 while (f_len-- > 0) |