Lines Matching +full:io +full:- +full:width

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 2005 Poul-Henning Kamp
49 #include <un-namespace.h>
53 /* private stuff -----------------------------------------------------*/
69 /* various globals ---------------------------------------------------*/
80 /* misc --------------------------------------------------------------*/
103 *--cp = to_char(val); in __ultoa()
114 *--cp = to_char(val % 10); in __ultoa()
120 *--cp = to_char(sval % 10); in __ultoa()
128 *--cp = thousep; in __ultoa()
144 *--cp = to_char(val & 7); in __ultoa()
151 *--cp = xdigs[val & 15]; in __ultoa()
175 *--cp = to_char(val % 10); in __ujtoa()
180 *--cp = to_char(val % 10); in __ujtoa()
186 *--cp = to_char(sval % 10); in __ujtoa()
194 *--cp = thousep; in __ujtoa()
210 *--cp = to_char(val & 7); in __ujtoa()
217 *--cp = xdigs[val & 15]; in __ujtoa()
229 /* 'd' ---------------------------------------------------------------*/
236 if (pi->is_ptrdiff) in __printf_arginfo_int()
238 else if (pi->is_size) in __printf_arginfo_int()
240 else if (pi->is_long) in __printf_arginfo_int()
242 else if (pi->is_intmax) in __printf_arginfo_int()
244 else if (pi->is_quad) in __printf_arginfo_int()
246 else if (pi->is_long_double) in __printf_arginfo_int()
248 else if (pi->is_short) in __printf_arginfo_int()
250 else if (pi->is_char) in __printf_arginfo_int()
256 __printf_render_int(struct __printf_io *io, const struct printf_info *pi, const void *const *arg) in __printf_render_int() argument
273 pe = buf + sizeof buf - 1; in __printf_render_int()
275 if (pi->group) { in __printf_render_int()
276 thousands_sep = *(localeconv()->thousands_sep); in __printf_render_int()
277 grouping = localeconv()->grouping; in __printf_render_int()
285 switch(pi->spec) { in __printf_render_int()
309 fprintf(stderr, "pi->spec = '%c'\n", pi->spec); in __printf_render_int()
315 ns = pi->showsign; in __printf_render_int()
317 if (pi->is_long_double || pi->is_quad || pi->is_intmax || in __printf_render_int()
318 pi->is_size || pi->is_ptrdiff) { in __printf_render_int()
319 if (sign && argp->intmaxarg < 0) { in __printf_render_int()
320 uu = -argp->intmaxarg; in __printf_render_int()
321 ns = '-'; in __printf_render_int()
323 uu = argp->uintmaxarg; in __printf_render_int()
324 } else if (pi->is_long) { in __printf_render_int()
325 if (sign && argp->longarg < 0) { in __printf_render_int()
326 uu = (u_long)-argp->longarg; in __printf_render_int()
327 ns = '-'; in __printf_render_int()
329 uu = argp->ulongarg; in __printf_render_int()
330 } else if (pi->is_short) { in __printf_render_int()
331 if (sign && (short)argp->intarg < 0) { in __printf_render_int()
332 uu = -(short)argp->intarg; in __printf_render_int()
333 ns = '-'; in __printf_render_int()
335 uu = (unsigned short)argp->uintarg; in __printf_render_int()
336 } else if (pi->is_char) { in __printf_render_int()
337 if (sign && (signed char)argp->intarg < 0) { in __printf_render_int()
338 uu = -(signed char)argp->intarg; in __printf_render_int()
339 ns = '-'; in __printf_render_int()
341 uu = (unsigned char)argp->uintarg; in __printf_render_int()
343 if (sign && argp->intarg < 0) { in __printf_render_int()
344 uu = (unsigned)-argp->intarg; in __printf_render_int()
345 ns = '-'; in __printf_render_int()
347 uu = argp->uintarg; in __printf_render_int()
356 /*- in __printf_render_int()
359 * -- ANSI X3J11 in __printf_render_int()
363 * -- Defect Report #151 in __printf_render_int()
366 if (pi->prec == 0 && !(pi->alt && rdx == 8)) in __printf_render_int()
368 } else if (pi->alt) { in __printf_render_int()
370 *--p = '0'; in __printf_render_int()
372 if (pi->spec == 'x') in __printf_render_int()
379 l += pe - p; in __printf_render_int()
383 /*- in __printf_render_int()
386 * -- ANSI X3J11 in __printf_render_int()
388 if (pi->prec > (pe - p)) in __printf_render_int()
389 zext = pi->prec - (pe - p); in __printf_render_int()
390 else if (pi->prec != -1) in __printf_render_int()
392 else if (pi->pad == '0' && pi->width > l && !pi->left) in __printf_render_int()
393 zext = pi->width - l; in __printf_render_int()
400 *--p = '0'; in __printf_render_int()
401 zext--; in __printf_render_int()
406 *--p = ns; in __printf_render_int()
408 *--p = nalt[1]; in __printf_render_int()
409 *--p = nalt[0]; in __printf_render_int()
411 if (pi->width > (pe - p) && !pi->left) { in __printf_render_int()
412 l = pi->width - (pe - p); in __printf_render_int()
414 *--p = ' '; in __printf_render_int()
415 l--; in __printf_render_int()
418 ret += __printf_pad(io, l, 0); in __printf_render_int()
421 if (!pi->left && pi->width > l) in __printf_render_int()
422 ret += __printf_pad(io, pi->width - l, 0); in __printf_render_int()
424 ret += __printf_puts(io, &ns, 1); in __printf_render_int()
426 ret += __printf_puts(io, nalt, 2); in __printf_render_int()
428 ret += __printf_pad(io, zext, 1); in __printf_render_int()
431 ret += __printf_puts(io, p, pe - p); in __printf_render_int()
432 if (pi->width > ret && pi->left) in __printf_render_int()
433 ret += __printf_pad(io, pi->width - ret, 0); in __printf_render_int()
434 __printf_flush(io); in __printf_render_int()
438 /* 'p' ---------------------------------------------------------------*/
450 __printf_render_ptr(struct __printf_io *io, const struct printf_info *pi, const void *const *arg) in __printf_render_ptr() argument
456 /*- in __printf_render_ptr()
459 * of printable characters, in an implementation- in __printf_render_ptr()
461 * -- ANSI X3J11 in __printf_render_ptr()
470 return (__printf_render_int(io, &p2, &p)); in __printf_render_ptr()