The argument corresponding to %zn is supposed to be an ssize_t *, not

a size_t *, although the distinction is moot in practice.
This commit is contained in:
David Schultz 2009-03-02 04:07:58 +00:00
parent 062a58a160
commit 88f919d683
2 changed files with 6 additions and 6 deletions

View File

@ -61,7 +61,7 @@ __FBSDID("$FreeBSD$");
enum typeid {
T_UNUSED, TP_SHORT, T_INT, T_U_INT, TP_INT,
T_LONG, T_U_LONG, TP_LONG, T_LLONG, T_U_LLONG, TP_LLONG,
T_PTRDIFFT, TP_PTRDIFFT, T_SSIZET, T_SIZET, TP_SIZET,
T_PTRDIFFT, TP_PTRDIFFT, T_SSIZET, T_SIZET, TP_SSIZET,
T_INTMAXT, T_UINTMAXT, TP_INTMAXT, TP_VOID, TP_CHAR, TP_SCHAR,
T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR
};
@ -374,7 +374,7 @@ reswitch: switch (ch) {
else if (flags & PTRDIFFT)
error = addtype(&types, TP_PTRDIFFT);
else if (flags & SIZET)
error = addtype(&types, TP_SIZET);
error = addtype(&types, TP_SSIZET);
else if (flags & LLONGINT)
error = addtype(&types, TP_LLONG);
else if (flags & LONGINT)
@ -565,7 +565,7 @@ reswitch: switch (ch) {
else if (flags & PTRDIFFT)
error = addtype(&types, TP_PTRDIFFT);
else if (flags & SIZET)
error = addtype(&types, TP_SIZET);
error = addtype(&types, TP_SSIZET);
else if (flags & LLONGINT)
error = addtype(&types, TP_LLONG);
else if (flags & LONGINT)
@ -719,8 +719,8 @@ build_arg_table(struct typetable *types, va_list ap, union arg **argtable)
case T_SSIZET:
(*argtable) [n].sizearg = va_arg (ap, ssize_t);
break;
case TP_SIZET:
(*argtable) [n].psizearg = va_arg (ap, size_t *);
case TP_SSIZET:
(*argtable) [n].pssizearg = va_arg (ap, ssize_t *);
break;
case T_INTMAXT:
(*argtable) [n].intmaxarg = va_arg (ap, intmax_t);

View File

@ -79,7 +79,7 @@ union arg {
long *plongarg;
long long *plonglongarg;
ptrdiff_t *pptrdiffarg;
size_t *psizearg;
ssize_t *pssizearg;
intmax_t *pintmaxarg;
#ifndef NO_FLOATING_POINT
double doublearg;