X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fquotearg.c;h=6e7ac8afed7b780ff65c5182fc80060e073113d8;hb=9b1445bd01af11c9c2b508e2c642fa415fb9c829;hp=bdbb82080b6a5004b4486f873bd31af98b10b84d;hpb=35c6eecdc2e688c8d790804e855cf321930b0229;p=gnulib.git diff --git a/lib/quotearg.c b/lib/quotearg.c index bdbb82080..6e7ac8afe 100644 --- a/lib/quotearg.c +++ b/lib/quotearg.c @@ -26,12 +26,6 @@ #include #include -#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) -# define ISASCII(c) 1 -#else -# define ISASCII(c) isascii (c) -#endif -#define ISPRINT(c) (ISASCII (c) && isprint (c)) #if ENABLE_NLS # include @@ -50,6 +44,12 @@ # define UCHAR_MAX ((unsigned char) -1) #endif +#if HAVE_C_BACKSLASH_A +# define ALERT_CHAR '\a' +#else +# define ALERT_CHAR '\7' +#endif + #if HAVE_STDLIB_H # include #endif @@ -58,6 +58,10 @@ # include #endif +#if HAVE_WCTYPE_H +# include +#endif + #if HAVE_MBRTOWC && HAVE_WCHAR_H # include #else @@ -69,6 +73,17 @@ #define INT_BITS (sizeof (int) * CHAR_BIT) +#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) +/* Undefine to protect against the definition in wctype.h of solaris2.6. */ +# undef ISASCII +# define ISASCII(c) 1 +#else +# define ISASCII(c) isascii (c) +#endif +/* Undefine to protect against the definition in wctype.h of solaris2.6. */ +#undef ISPRINT +#define ISPRINT(c) (ISASCII (c) && isprint (c)) + struct quoting_options { /* Basic quoting style. */ @@ -257,9 +272,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize, } break; -#if HAVE_C_BACKSLASH_A - case '\a': esc = 'a'; goto c_escape; -#endif + case ALERT_CHAR: esc = 'a'; goto c_escape; case '\b': esc = 'b'; goto c_escape; case '\f': esc = 'f'; goto c_escape; case '\n': esc = 'n'; goto c_and_shell_escape;