Deleted Added
full compact
42c42
< "$FreeBSD: head/lib/libc/stdio/vfprintf.c 81975 2001-08-20 12:53:36Z kris $";
---
> "$FreeBSD: head/lib/libc/stdio/vfprintf.c 84922 2001-10-14 13:45:33Z dfr $";
72a73,91
> union arg {
> int intarg;
> unsigned int uintarg;
> long longarg;
> unsigned long ulongarg;
> quad_t quadarg;
> u_quad_t uquadarg;
> void *pvoidarg;
> char *pchararg;
> short *pshortarg;
> int *pintarg;
> long *plongarg;
> quad_t *pquadarg;
> #ifdef FLOATING_POINT
> double doublearg;
> long double longdoublearg;
> #endif
> };
>
77c96
< static void __find_arguments __P((const char *, va_list, void ***));
---
> static void __find_arguments __P((const char *, va_list, union arg **));
333,334c352,353
< void **argtable; /* args, built due to positional arg */
< void *statargtable [STATIC_ARG_TBL_SIZE];
---
> union arg *argtable; /* args, built due to positional arg */
> union arg statargtable [STATIC_ARG_TBL_SIZE];
385c404
< ((argtable != NULL) ? *((type*)(argtable[nextarg++])) : \
---
> ((argtable != NULL) ? *((type*)(&argtable[nextarg++])) : \
915c934
< __find_arguments (const char *fmt0, va_list ap, void ***argtable)
---
> __find_arguments (const char *fmt0, va_list ap, union arg **argtable)
1115,1116c1134,1135
< *argtable = (void **)
< malloc (sizeof (void *) * (tablemax + 1));
---
> *argtable = (union arg *)
> malloc (sizeof (union arg) * (tablemax + 1));
1119c1138
< (*argtable) [0] = NULL;
---
> (*argtable) [0].intarg = 0;
1123c1142
< (*argtable) [n] = (void *) &va_arg (ap, int);
---
> (*argtable) [n].intarg = va_arg (ap, int);
1126c1145
< (*argtable) [n] = (void *) &va_arg (ap, int);
---
> (*argtable) [n].intarg = va_arg (ap, int);
1129c1148
< (*argtable) [n] = (void *) &va_arg (ap, int);
---
> (*argtable) [n].intarg = va_arg (ap, int);
1132c1151
< (*argtable) [n] = (void *) &va_arg (ap, short *);
---
> (*argtable) [n].pshortarg = va_arg (ap, short *);
1135c1154
< (*argtable) [n] = (void *) &va_arg (ap, int);
---
> (*argtable) [n].intarg = va_arg (ap, int);
1138c1157
< (*argtable) [n] = (void *) &va_arg (ap, unsigned int);
---
> (*argtable) [n].uintarg = va_arg (ap, unsigned int);
1141c1160
< (*argtable) [n] = (void *) &va_arg (ap, int *);
---
> (*argtable) [n].pintarg = va_arg (ap, int *);
1144c1163
< (*argtable) [n] = (void *) &va_arg (ap, long);
---
> (*argtable) [n].longarg = va_arg (ap, long);
1147c1166
< (*argtable) [n] = (void *) &va_arg (ap, unsigned long);
---
> (*argtable) [n].ulongarg = va_arg (ap, unsigned long);
1150c1169
< (*argtable) [n] = (void *) &va_arg (ap, long *);
---
> (*argtable) [n].plongarg = va_arg (ap, long *);
1153c1172
< (*argtable) [n] = (void *) &va_arg (ap, quad_t);
---
> (*argtable) [n].quadarg = va_arg (ap, quad_t);
1156c1175
< (*argtable) [n] = (void *) &va_arg (ap, u_quad_t);
---
> (*argtable) [n].uquadarg = va_arg (ap, u_quad_t);
1159c1178
< (*argtable) [n] = (void *) &va_arg (ap, quad_t *);
---
> (*argtable) [n].pquadarg = va_arg (ap, quad_t *);
1160a1180
> #ifdef FLOATING_POINT
1162c1182
< (*argtable) [n] = (void *) &va_arg (ap, double);
---
> (*argtable) [n].doublearg = va_arg (ap, double);
1165c1185
< (*argtable) [n] = (void *) &va_arg (ap, long double);
---
> (*argtable) [n].longdoublearg = va_arg (ap, long double);
1166a1187
> #endif
1168c1189
< (*argtable) [n] = (void *) &va_arg (ap, char *);
---
> (*argtable) [n].pchararg = va_arg (ap, char *);
1171c1192
< (*argtable) [n] = (void *) &va_arg (ap, void *);
---
> (*argtable) [n].pvoidarg = va_arg (ap, void *);