tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH] POSIX01: put v*scanf() functions under _ISOC99_SOURCE domain



ISO C99 requires the presence of the vscanf(), vfscanf(), and vsscanf()
functions. NetBSD until now hiddes their under its own macros. We'll put their
under ISO C99 domain as well.
---
 include/stdio.h |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/include/stdio.h b/include/stdio.h
index 257213e..9c7dc79 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -360,6 +360,23 @@ __END_DECLS
 #endif /* _XOPEN_SOURCE >= 500 || _LARGEFILE_SOURCE || _NETBSD_SOURCE */

 /*
+ * Functions defined in at least ISO C99. Still put under _NETBSD_SOURCE due to
+ * backward compatible.
+ */
+#if defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
+__BEGIN_DECLS
+int     vscanf(const char * __restrict, _BSD_VA_LIST_)
+           __attribute__((__format__(__scanf__, 1, 0)));
+int     vfscanf(FILE * __restrict, const char * __restrict,
+           _BSD_VA_LIST_)
+           __attribute__((__format__(__scanf__, 2, 0)));
+int     vsscanf(const char * __restrict, const char * __restrict,
+           _BSD_VA_LIST_)
+           __attribute__((__format__(__scanf__, 2, 0)));
+__END_DECLS
+#endif /* _ISOC99_SOURCE || _NETBSD_SOURCE */
+
+/*
 * Routines that are purely local.
 */
 #if defined(_NETBSD_SOURCE)
@@ -381,14 +398,6 @@ int         setlinebuf(FILE *);
 int     vasprintf(char ** __restrict, const char * __restrict,
           _BSD_VA_LIST_)
           __attribute__((__format__(__printf__, 2, 0)));
-int     vscanf(const char * __restrict, _BSD_VA_LIST_)
-           __attribute__((__format__(__scanf__, 1, 0)));
-int     vfscanf(FILE * __restrict, const char * __restrict,
-           _BSD_VA_LIST_)
-           __attribute__((__format__(__scanf__, 2, 0)));
-int     vsscanf(const char * __restrict, const char * __restrict,
-           _BSD_VA_LIST_)
-           __attribute__((__format__(__scanf__, 2, 0)));
 const char *fmtcheck(const char *, const char *)
           __attribute__((__format_arg__(2)));
 __END_DECLS
--
1.5.2.5


Home | Main Index | Thread Index | Old Index