+
+#if DEBUG
+/* Print escaped buffer to fp. */
+static void
+debug_buffer (FILE *fp, const char *buf)
+{
+ while (*buf) {
+ if (isprint (*buf))
+ fputc (*buf, fp);
+ else {
+ switch (*buf) {
+ case '\0': fputs ("\\0", fp); break;
+ case '\a': fputs ("\\a", fp); break;
+ case '\b': fputs ("\\b", fp); break;
+ case '\f': fputs ("\\f", fp); break;
+ case '\n': fputs ("\\n", fp); break;
+ case '\r': fputs ("\\r", fp); break;
+ case '\t': fputs ("\\t", fp); break;
+ case '\v': fputs ("\\v", fp); break;
+ default:
+ fprintf (fp, "\\x%x", (unsigned char) *buf);
+ }
+ }
+ buf++;
+ }
+}
+#endif
+