diff options
author | David Lamparter <equinox@diac24.net> | 2019-05-12 22:39:28 +0200 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2019-06-03 16:44:29 +0200 |
commit | e8c672ea8101c541f66e0959d526ae4f5a2a778d (patch) | |
tree | d569dabe52f936a2667ccb1a896c10d235a1e5bf /lib/printf | |
parent | lib/printf: add %Ld/%Lu for int64_t/uint64_t (diff) | |
download | frr-e8c672ea8101c541f66e0959d526ae4f5a2a778d.tar.xz frr-e8c672ea8101c541f66e0959d526ae4f5a2a778d.zip |
lib/printf: disable wchar_t support
... we just don't use wchar_t in FRR, no point in having this enabled.
Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'lib/printf')
-rw-r--r-- | lib/printf/printf-pos.c | 4 | ||||
-rw-r--r-- | lib/printf/printflocal.h | 2 | ||||
-rw-r--r-- | lib/printf/vfprintf.c | 14 |
3 files changed, 16 insertions, 4 deletions
diff --git a/lib/printf/printf-pos.c b/lib/printf/printf-pos.c index 7f83dea1a..c66f4d1a0 100644 --- a/lib/printf/printf-pos.c +++ b/lib/printf/printf-pos.c @@ -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. diff --git a/lib/printf/printflocal.h b/lib/printf/printflocal.h index 70131d10f..5860c5c04 100644 --- a/lib/printf/printflocal.h +++ b/lib/printf/printflocal.h @@ -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 diff --git a/lib/printf/vfprintf.c b/lib/printf/vfprintf.c index 8c26c2f7c..7374a03e7 100644 --- a/lib/printf/vfprintf.c +++ b/lib/printf/vfprintf.c @@ -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'; |