*** empty log message ***
[gnulib.git] / lib / quotearg.c
index bdbb820..6e7ac8a 100644 (file)
 #include <xalloc.h>
 
 #include <ctype.h>
-#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 <libintl.h>
 # 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 <stdlib.h>
 #endif
 # include <string.h>
 #endif
 
+#if HAVE_WCTYPE_H
+# include <wctype.h>
+#endif
+
 #if HAVE_MBRTOWC && HAVE_WCHAR_H
 # include <wchar.h>
 #else
 
 #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;