printf-pos.c (189131) | printf-pos.c (189268) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; 35#endif /* LIBC_SCCS and not lint */ 36#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33#if defined(LIBC_SCCS) && !defined(lint) 34static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; 35#endif /* LIBC_SCCS and not lint */ 36#include <sys/cdefs.h> |
37__FBSDID("$FreeBSD: head/lib/libc/stdio/printf-pos.c 189131 2009-02-28 04:58:18Z das $"); | 37__FBSDID("$FreeBSD: head/lib/libc/stdio/printf-pos.c 189268 2009-03-02 04:07:58Z das $"); |
38 39/* 40 * This is the code responsible for handling positional arguments 41 * (%m$ and %m$.n$) for vfprintf() and vfwprintf(). 42 */ 43 44#include "namespace.h" 45#include <sys/types.h> --- 10 unchanged lines hidden (view full) --- 56#include "printflocal.h" 57 58/* 59 * Type ids for argument type table. 60 */ 61enum typeid { 62 T_UNUSED, TP_SHORT, T_INT, T_U_INT, TP_INT, 63 T_LONG, T_U_LONG, TP_LONG, T_LLONG, T_U_LLONG, TP_LLONG, | 38 39/* 40 * This is the code responsible for handling positional arguments 41 * (%m$ and %m$.n$) for vfprintf() and vfwprintf(). 42 */ 43 44#include "namespace.h" 45#include <sys/types.h> --- 10 unchanged lines hidden (view full) --- 56#include "printflocal.h" 57 58/* 59 * Type ids for argument type table. 60 */ 61enum typeid { 62 T_UNUSED, TP_SHORT, T_INT, T_U_INT, TP_INT, 63 T_LONG, T_U_LONG, TP_LONG, T_LLONG, T_U_LLONG, TP_LLONG, |
64 T_PTRDIFFT, TP_PTRDIFFT, T_SSIZET, T_SIZET, TP_SIZET, | 64 T_PTRDIFFT, TP_PTRDIFFT, T_SSIZET, T_SIZET, TP_SSIZET, |
65 T_INTMAXT, T_UINTMAXT, TP_INTMAXT, TP_VOID, TP_CHAR, TP_SCHAR, 66 T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR 67}; 68 69/* An expandable array of types. */ 70struct typetable { 71 enum typeid *table; /* table of types */ 72 enum typeid stattable[STATIC_ARG_TBL_SIZE]; --- 296 unchanged lines hidden (view full) --- 369 break; 370#endif /* !NO_FLOATING_POINT */ 371 case 'n': 372 if (flags & INTMAXT) 373 error = addtype(&types, TP_INTMAXT); 374 else if (flags & PTRDIFFT) 375 error = addtype(&types, TP_PTRDIFFT); 376 else if (flags & SIZET) | 65 T_INTMAXT, T_UINTMAXT, TP_INTMAXT, TP_VOID, TP_CHAR, TP_SCHAR, 66 T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR 67}; 68 69/* An expandable array of types. */ 70struct typetable { 71 enum typeid *table; /* table of types */ 72 enum typeid stattable[STATIC_ARG_TBL_SIZE]; --- 296 unchanged lines hidden (view full) --- 369 break; 370#endif /* !NO_FLOATING_POINT */ 371 case 'n': 372 if (flags & INTMAXT) 373 error = addtype(&types, TP_INTMAXT); 374 else if (flags & PTRDIFFT) 375 error = addtype(&types, TP_PTRDIFFT); 376 else if (flags & SIZET) |
377 error = addtype(&types, TP_SIZET); | 377 error = addtype(&types, TP_SSIZET); |
378 else if (flags & LLONGINT) 379 error = addtype(&types, TP_LLONG); 380 else if (flags & LONGINT) 381 error = addtype(&types, TP_LONG); 382 else if (flags & SHORTINT) 383 error = addtype(&types, TP_SHORT); 384 else if (flags & CHARINT) 385 error = addtype(&types, TP_SCHAR); --- 174 unchanged lines hidden (view full) --- 560 break; 561#endif /* !NO_FLOATING_POINT */ 562 case 'n': 563 if (flags & INTMAXT) 564 error = addtype(&types, TP_INTMAXT); 565 else if (flags & PTRDIFFT) 566 error = addtype(&types, TP_PTRDIFFT); 567 else if (flags & SIZET) | 378 else if (flags & LLONGINT) 379 error = addtype(&types, TP_LLONG); 380 else if (flags & LONGINT) 381 error = addtype(&types, TP_LONG); 382 else if (flags & SHORTINT) 383 error = addtype(&types, TP_SHORT); 384 else if (flags & CHARINT) 385 error = addtype(&types, TP_SCHAR); --- 174 unchanged lines hidden (view full) --- 560 break; 561#endif /* !NO_FLOATING_POINT */ 562 case 'n': 563 if (flags & INTMAXT) 564 error = addtype(&types, TP_INTMAXT); 565 else if (flags & PTRDIFFT) 566 error = addtype(&types, TP_PTRDIFFT); 567 else if (flags & SIZET) |
568 error = addtype(&types, TP_SIZET); | 568 error = addtype(&types, TP_SSIZET); |
569 else if (flags & LLONGINT) 570 error = addtype(&types, TP_LLONG); 571 else if (flags & LONGINT) 572 error = addtype(&types, TP_LONG); 573 else if (flags & SHORTINT) 574 error = addtype(&types, TP_SHORT); 575 else if (flags & CHARINT) 576 error = addtype(&types, TP_SCHAR); --- 137 unchanged lines hidden (view full) --- 714 (*argtable) [n].pptrdiffarg = va_arg (ap, ptrdiff_t *); 715 break; 716 case T_SIZET: 717 (*argtable) [n].sizearg = va_arg (ap, size_t); 718 break; 719 case T_SSIZET: 720 (*argtable) [n].sizearg = va_arg (ap, ssize_t); 721 break; | 569 else if (flags & LLONGINT) 570 error = addtype(&types, TP_LLONG); 571 else if (flags & LONGINT) 572 error = addtype(&types, TP_LONG); 573 else if (flags & SHORTINT) 574 error = addtype(&types, TP_SHORT); 575 else if (flags & CHARINT) 576 error = addtype(&types, TP_SCHAR); --- 137 unchanged lines hidden (view full) --- 714 (*argtable) [n].pptrdiffarg = va_arg (ap, ptrdiff_t *); 715 break; 716 case T_SIZET: 717 (*argtable) [n].sizearg = va_arg (ap, size_t); 718 break; 719 case T_SSIZET: 720 (*argtable) [n].sizearg = va_arg (ap, ssize_t); 721 break; |
722 case TP_SIZET: 723 (*argtable) [n].psizearg = va_arg (ap, size_t *); | 722 case TP_SSIZET: 723 (*argtable) [n].pssizearg = va_arg (ap, ssize_t *); |
724 break; 725 case T_INTMAXT: 726 (*argtable) [n].intmaxarg = va_arg (ap, intmax_t); 727 break; 728 case T_UINTMAXT: 729 (*argtable) [n].uintmaxarg = va_arg (ap, uintmax_t); 730 break; 731 case TP_INTMAXT: --- 27 unchanged lines hidden --- | 724 break; 725 case T_INTMAXT: 726 (*argtable) [n].intmaxarg = va_arg (ap, intmax_t); 727 break; 728 case T_UINTMAXT: 729 (*argtable) [n].uintmaxarg = va_arg (ap, uintmax_t); 730 break; 731 case TP_INTMAXT: --- 27 unchanged lines hidden --- |