]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib/printf: disable wchar_t support
authorDavid Lamparter <equinox@diac24.net>
Sun, 12 May 2019 20:39:28 +0000 (22:39 +0200)
committerDavid Lamparter <equinox@diac24.net>
Mon, 3 Jun 2019 14:44:29 +0000 (16:44 +0200)
... we just don't use wchar_t in FRR, no point in having this enabled.

Signed-off-by: David Lamparter <equinox@diac24.net>
lib/printf/printf-pos.c
lib/printf/printflocal.h
lib/printf/vfprintf.c

index 7f83dea1aa3d2247ffc66bec1a35e1a10e441b24..c66f4d1a06180a64cb76105fe3c57dd5a75e3ffe 100644 (file)
@@ -214,6 +214,7 @@ addaster(struct typetable *types, char **fmtp)
        return (0);
 }
 
+#ifdef WCHAR_SUPPORT
 static inline int
 addwaster(struct typetable *types, wchar_t **fmtp)
 {
@@ -239,6 +240,7 @@ addwaster(struct typetable *types, wchar_t **fmtp)
        }
        return (0);
 }
+#endif /* WCHAR_SUPPORT */
 
 /*
  * Find all arguments when a positional parameter is encountered.  Returns a
@@ -437,6 +439,7 @@ error:
        return (error || *argtable == NULL);
 }
 
+#ifdef WCHAR_SUPPORT
 /* wchar version of __find_arguments. */
 int
 __find_warguments (const wchar_t *fmt0, va_list ap, union arg **argtable)
@@ -627,6 +630,7 @@ error:
        freetypes(&types);
        return (error || *argtable == NULL);
 }
+#endif /* WCHAR_SUPPORT */
 
 /*
  * Increase the size of the type table. Returns 0 on success.
index 70131d10fdcbd643a943d4f5fb15adbc5a6d4eda..5860c5c04e3ae4b754f5af050dafb432acedf99f 100644 (file)
@@ -93,4 +93,6 @@ union arg {
 
 /* Handle positional parameters. */
 int    __find_arguments(const char *, va_list, union arg **);
+#ifdef WCHAR_SUPPORT
 int    __find_warguments(const wchar_t *, va_list, union arg **);
+#endif
index 8c26c2f7c5c3185cdef34ea25116cf0c35b98d74..7374a03e73b97b9875269d10e9f0499bad4aec2a 100644 (file)
@@ -73,11 +73,10 @@ struct __suio {
 
 #include "printflocal.h"
 
-static char    *__wcsconv(wchar_t *, int);
-
 #define        CHAR    char
 #include "printfcommon.h"
 
+#ifdef WCHAR_SUPPORT
 /*
  * Convert a wide character string argument for the %ls format to a multibyte
  * string representation. If not -1, prec specifies the maximum number of
@@ -136,6 +135,7 @@ __wcsconv(wchar_t *wcsarg, int prec)
        convbuf[nbytes] = '\0';
        return (convbuf);
 }
+#endif /* WCHAR_SUPPORT */
 
 /*
  * The size of the buffer we use as scratch space for integer
@@ -412,6 +412,7 @@ reswitch:   switch (ch) {
                        flags |= LONGINT;
                        /*FALLTHROUGH*/
                case 'c':
+#ifdef WCHAR_SUPPORT
                        if (flags & LONGINT) {
                                static const mbstate_t initial;
                                mbstate_t mbs;
@@ -424,7 +425,9 @@ reswitch:   switch (ch) {
                                        goto error;
                                }
                                size = (int)mbseqlen;
-                       } else {
+                       } else
+#endif /* WCHAR_SUPPORT */
+                       {
                                *(cp = buf) = GETARG(int);
                                size = 1;
                        }
@@ -542,6 +545,7 @@ reswitch:   switch (ch) {
                        flags |= LONGINT;
                        /*FALLTHROUGH*/
                case 's':
+#ifdef WCHAR_SUPPORT
                        if (flags & LONGINT) {
                                wchar_t *wcp;
 
@@ -556,7 +560,9 @@ reswitch:   switch (ch) {
                                        }
                                        cp = convbuf;
                                }
-                       } else if ((cp = GETARG(char *)) == NULL)
+                       } else
+#endif
+                       if ((cp = GETARG(char *)) == NULL)
                                cp = "(null)";
                        size = (prec >= 0) ? strnlen(cp, prec) : strlen(cp);
                        sign = '\0';