diff -Naurp -X /home/muli/w/dontdiff linux-2.5/lib/vsprintf.c no-n-percent/lib/vsprintf.c --- linux-2.5/lib/vsprintf.c 2004-02-19 06:49:34.000000000 +0200 +++ no-n-percent/lib/vsprintf.c 2004-03-20 22:38:54.000000000 +0200 @@ -14,6 +14,9 @@ * - changed to provide snprintf and vsnprintf functions * So Feb 1 16:51:32 CET 2004 Juergen Quade * - scnprintf and vscnprintf + * Sat Mar 20 22:38:09 2004 Muli Ben-Yehuda + * - remove '%n' support from vsnprintf, as nothing is using it, and it + * has very few legitimate uses (and many many illegitimate ones) */ #include @@ -401,22 +404,6 @@ int vsnprintf(char *buf, size_t size, co 16, field_width, precision, flags); continue; - - case 'n': - /* FIXME: - * What does C99 say about the overflow case here? */ - if (qualifier == 'l') { - long * ip = va_arg(args, long *); - *ip = (str - buf); - } else if (qualifier == 'Z' || qualifier == 'z') { - size_t * ip = va_arg(args, size_t *); - *ip = (str - buf); - } else { - int * ip = va_arg(args, int *); - *ip = (str - buf); - } - continue; - case '%': if (str <= end) *str = '%';