+/*----------------------------------------------------------------------.
+| Print to OUT a representation of FILENAME escaped both for C and M4. |
+`----------------------------------------------------------------------*/
+
+static void
+escaped_file_name_output (FILE *out, char const *filename)
+{
+ char const *p;
+ fprintf (out, "[[");
+
+ for (p = quotearg_style (c_quoting_style, filename); *p; p++)
+ switch (*p)
+ {
+ case '$': fputs ("$][", out); break;
+ case '@': fputs ("@@", out); break;
+ case '[': fputs ("@{", out); break;
+ case ']': fputs ("@}", out); break;
+ default: fputc (*p, out); break;
+ }
+
+ fprintf (out, "]]");
+}
+
+