Deleted Added
full compact
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 ---