### Eclipse Workspace Patch 1.0 #P avr-libc Index: libc/stdio/vfscanf.c =================================================================== RCS file: /sources/avr-libc/avr-libc/libc/stdio/vfscanf.c,v retrieving revision 1.13 diff -u -r1.13 vfscanf.c --- libc/stdio/vfscanf.c 9 Nov 2005 21:54:33 -0000 1.13 +++ libc/stdio/vfscanf.c 25 Oct 2007 23:34:44 -0000 @@ -264,18 +264,15 @@ if (!(flags & FLSTAR)) #endif /* SCANF_LEVEL > SCANF_MIN */ a.cp = va_arg(ap, char *); - do { - i = getc(stream); - } while (isspace(i)); - if (i == EOF) - goto leave; #if SCANF_LEVEL > SCANF_MIN - while (width-- > 0) + do #else for (;;) #endif /* SCANF_LEVEL > SCANF_MIN */ { + if ((i = getc(stream)) == EOF) + break; if (isspace(i)) { ungetc(i, stream); break; @@ -284,10 +281,10 @@ if (!(flags & FLSTAR)) #endif /* SCANF_LEVEL > SCANF_MIN */ *a.cp++ = i; - if ((i = getc(stream)) == EOF) - break; + } #if SCANF_LEVEL > SCANF_MIN + while (--width > 0); if (!(flags & FLSTAR)) #endif /* SCANF_LEVEL > SCANF_MIN */ *a.cp = '\0';