(%[): Grok ] as first char in set, not terminator on empty set. From
authorroland <roland>
Fri, 12 Jan 1996 18:39:46 +0000 (18:39 +0000)
committerroland <roland>
Fri, 12 Jan 1996 18:39:46 +0000 (18:39 +0000)
drepper.

stdio-common/vfscanf.c

index 14aa7d9..c13627a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -703,6 +703,11 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
          else
            not_in = 0;
 
+         if (*f == ']')
+           /* If ] appears before any char in the set, it is not
+              the terminator, but the first char in the set.  */
+           ADDW (*f++);
+
          while ((fc = *f++) != '\0' && fc != ']')
            {
              if (fc == '-' && *f != '\0' && *f != ']' &&