Index: src/lib/libc/stdio/vfscanf.c =================================================================== RCS file: /home/ncvs/src/lib/libc/stdio/vfscanf.c,v retrieving revision 1.14.2.1 diff -u -r1.14.2.1 vfscanf.c --- src/lib/libc/stdio/vfscanf.c 2001/03/05 11:27:49 1.14.2.1 +++ src/lib/libc/stdio/vfscanf.c 2001/06/23 12:54:33 @@ -70,6 +70,7 @@ #define POINTER 0x10 /* weird %p pointer (`fake hex') */ #define NOSKIP 0x20 /* do not skip blanks */ #define QUAD 0x400 +#define LONGLONG 0x800 /* * The following are used in numeric conversions only: @@ -162,7 +163,12 @@ flags |= SUPPRESS; goto again; case 'l': - flags |= LONG; + if (*fmt == 'l') { + fmt++; + flags |= LONGLONG; + } else { + flags |= LONG; + } goto again; case 'q': flags |= QUAD; @@ -266,6 +272,8 @@ *va_arg(ap, short *) = nread; else if (flags & LONG) *va_arg(ap, long *) = nread; + else if (flags & LONGLONG) + *va_arg(ap, long long *) = nread; else if (flags & QUAD) *va_arg(ap, quad_t *) = nread; else @@ -556,6 +564,8 @@ *va_arg(ap, short *) = res; else if (flags & LONG) *va_arg(ap, long *) = res; + else if (flags & LONGLONG) + *va_arg(ap, long long *) = res; else if (flags & QUAD) *va_arg(ap, quad_t *) = res; else