+ /* %DIRECTIVE="ARG". Separate into
+ TOKEN_BUFFER = `%DIRECTIVE\0ARG\0'.
+ This is a bit hackish, but once we move to a Bison parser,
+ things will be cleaned up. */
+ if (c == '=')
+ {
+ /* End of the directive. We skip the `='. */
+ obstack_1grow (&token_obstack, '\0');
+ /* Fetch the ARG if present. */
+ c = getc (finput);
+ if (c == '"')
+ {
+ int code;
+ arg_offset = obstack_object_size (&token_obstack);
+ /* Read up to and including `"'. Do not append the closing
+ `"' in the output: it's not part of the ARG. */
+ while (literalchar (NULL, &code, '"'))
+ obstack_1grow (&token_obstack, code);
+ }
+ /* else: should be an error. */
+ }
+ else
+ ungetc (c, finput);
+