diff --git a/library/amiga.lib_rev.h b/library/amiga.lib_rev.h index 1b529c3..370a4fc 100644 --- a/library/amiga.lib_rev.h +++ b/library/amiga.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "amiga.lib 1.178" -#define VSTRING "amiga.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: amiga.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "amiga.lib 1.179" +#define VSTRING "amiga.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: amiga.lib 1.179 (22.10.2004)" diff --git a/library/amiga.lib_rev.rev b/library/amiga.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/amiga.lib_rev.rev +++ b/library/amiga.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/c.lib_rev.h b/library/c.lib_rev.h index ddacdb1..d74c057 100644 --- a/library/c.lib_rev.h +++ b/library/c.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "c.lib 1.178" -#define VSTRING "c.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: c.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "c.lib 1.179" +#define VSTRING "c.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: c.lib 1.179 (22.10.2004)" diff --git a/library/c.lib_rev.rev b/library/c.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/c.lib_rev.rev +++ b/library/c.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/changes b/library/changes index 6c52472..a121de1 100644 --- a/library/changes +++ b/library/changes @@ -1,3 +1,10 @@ +c.lib 1.179 (22.10.2004) + +- The scanf() family no longer assumes that a leading '0' indicates that the + following digits form an octal number if the conversion type has been + specified as already '%x' already. + + c.lib 1.178 (7.10.2004) - The OS4 version had floating point math support code enabled in all diff --git a/library/debug.lib_rev.h b/library/debug.lib_rev.h index 8e0ad3d..b7ca592 100644 --- a/library/debug.lib_rev.h +++ b/library/debug.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "debug.lib 1.178" -#define VSTRING "debug.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: debug.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "debug.lib 1.179" +#define VSTRING "debug.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: debug.lib 1.179 (22.10.2004)" diff --git a/library/debug.lib_rev.rev b/library/debug.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/debug.lib_rev.rev +++ b/library/debug.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/m.lib_rev.h b/library/m.lib_rev.h index d9cfd82..6ebd1ab 100644 --- a/library/m.lib_rev.h +++ b/library/m.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "m.lib 1.178" -#define VSTRING "m.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: m.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "m.lib 1.179" +#define VSTRING "m.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: m.lib 1.179 (22.10.2004)" diff --git a/library/m.lib_rev.rev b/library/m.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/m.lib_rev.rev +++ b/library/m.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/m881.lib_rev.h b/library/m881.lib_rev.h index 60ff4ab..b3f61a8 100644 --- a/library/m881.lib_rev.h +++ b/library/m881.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "m881.lib 1.178" -#define VSTRING "m881.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: m881.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "m881.lib 1.179" +#define VSTRING "m881.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: m881.lib 1.179 (22.10.2004)" diff --git a/library/m881.lib_rev.rev b/library/m881.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/m881.lib_rev.rev +++ b/library/m881.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/net.lib_rev.h b/library/net.lib_rev.h index c8c1b5e..5b00a01 100644 --- a/library/net.lib_rev.h +++ b/library/net.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "net.lib 1.178" -#define VSTRING "net.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: net.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "net.lib 1.179" +#define VSTRING "net.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: net.lib 1.179 (22.10.2004)" diff --git a/library/net.lib_rev.rev b/library/net.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/net.lib_rev.rev +++ b/library/net.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/stack.lib_rev.h b/library/stack.lib_rev.h index 1e97af6..0ad8e46 100644 --- a/library/stack.lib_rev.h +++ b/library/stack.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "stack.lib 1.178" -#define VSTRING "stack.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: stack.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "stack.lib 1.179" +#define VSTRING "stack.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: stack.lib 1.179 (22.10.2004)" diff --git a/library/stack.lib_rev.rev b/library/stack.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/stack.lib_rev.rev +++ b/library/stack.lib_rev.rev @@ -1 +1 @@ -178 +179 diff --git a/library/stdio_vfscanf.c b/library/stdio_vfscanf.c index 3f49bfc..cf4de0a 100644 --- a/library/stdio_vfscanf.c +++ b/library/stdio_vfscanf.c @@ -1,5 +1,5 @@ /* - * $Id: stdio_vfscanf.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $ + * $Id: stdio_vfscanf.c,v 1.3 2004-10-22 10:57:53 obarthel Exp $ * * :ts=4 * @@ -1016,6 +1016,10 @@ __vfscanf(FILE *stream, const char *format, va_list arg) } } + /* Chose a base according to the conversion to be + expected. For the 'x' and 'i' we examine the + incoming data rather than commit ourselves to + a peculiar data format now. */ if(conversion_type == 'd' || conversion_type == 'u') base = 10; else if (conversion_type == 'o') @@ -1060,7 +1064,11 @@ __vfscanf(FILE *stream, const char *format, va_list arg) * '0x' prefix or just a zero. */ c = __getc(stream); - if (c == 'x' || c == 'X') + + /* This takes care of the '0x' prefix for hexadecimal + numbers ('%x') and also picks the right type of + data for the '%i' type. */ + if ((c == 'x' || c == 'X') && (conversion_type == 'x' || conversion_type == 'i')) { /* It's the hex prefix. */ base = 16; @@ -1075,7 +1083,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg) if(maximum_field_width > 0) maximum_field_width--; } - else if (isdigit(c)) + else if (isdigit(c) && (conversion_type == 'i')) /* This could be the octal prefix for the '%i' format. */ { /* The preceding '0' was part of the octal prefix. So we don't really know diff --git a/library/unix.lib_rev.h b/library/unix.lib_rev.h index 526276f..f9ace02 100644 --- a/library/unix.lib_rev.h +++ b/library/unix.lib_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 178 -#define DATE "7.10.2004" -#define VERS "unix.lib 1.178" -#define VSTRING "unix.lib 1.178 (7.10.2004)\r\n" -#define VERSTAG "\0$VER: unix.lib 1.178 (7.10.2004)" +#define REVISION 179 +#define DATE "22.10.2004" +#define VERS "unix.lib 1.179" +#define VSTRING "unix.lib 1.179 (22.10.2004)\r\n" +#define VERSTAG "\0$VER: unix.lib 1.179 (22.10.2004)" diff --git a/library/unix.lib_rev.rev b/library/unix.lib_rev.rev index f84d24e..a14f8d5 100644 --- a/library/unix.lib_rev.rev +++ b/library/unix.lib_rev.rev @@ -1 +1 @@ -178 +179