[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[trunk]: I-option2.patch
From: |
Marc Autret |
Subject: |
[trunk]: I-option2.patch |
Date: |
24 Nov 2001 14:42:37 -0500 |
User-agent: |
Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7 |
Index: ChangeLog
===================================================================
RCS file: /cvsroot/bison/bison/ChangeLog,v
retrieving revision 1.290
diff -u -r1.290 ChangeLog
--- ChangeLog 2001/11/22 22:00:21 1.290
+++ ChangeLog 2001/11/24 18:48:03
@@ -1,3 +1,19 @@
+2001-11-24 Marc Autret <address@hidden>
+
+ * src/reader.c (parse_dquoted_param): New.
+ (parse_skel_decl, parse_skelpath_decl): Use it.
+
2001-11-22 Marc Autret <address@hidden>
Index: src/reader.c
===================================================================
RCS file: /cvsroot/bison/bison/src/reader.c,v
retrieving revision 1.100
diff -u -r1.100 reader.c
--- src/reader.c 2001/11/19 10:26:16 1.100
+++ src/reader.c 2001/11/24 18:48:37
@@ -951,7 +951,54 @@
muscle_insert (muscle_key, muscle_value);
}
+/*---------------------------------.
+| Parse a double quoted parameter. |
+`---------------------------------*/
+static const char *
+parse_dquoted_param (const char *from)
+{
+ char buff[32];
+ int c;
+ int i;
+
+ c = skip_white_space ();
+
+ if (c != '"')
+ {
+ ungetc (c, finput);
+ complain (_("invalid %s declaration"), from);
+ return NULL;
+ }
+
+ c = getc (finput);
+ for (i = 0; (c >= '!') && (c <= '~'); i++)
+ {
+ if (c == '"')
+ break;
+
+ if (c == '\\')
+ {
+ c = getc (finput);
+ if ((c < '!') && (c > '~'))
+ break;
+ }
+
+ buff[i] = c;
+ c = getc (finput);
+ }
+ buff[i] = '\0';
+
+ if (c != '"')
+ {
+ ungetc (c, finput);
+ complain (_("invalid %s declaration"), from);
+ return NULL;
+ }
+
+ return xstrdup (buff);
+}
+
/*----------------------------------.
| Parse what comes after %skeleton. |
`----------------------------------*/
@@ -959,9 +1006,19 @@
void
parse_skel_decl (void)
{
- /* Complete with parse_dquoted_param () on the CVS branch 1.29. */
+ skeleton = parse_dquoted_param ("skeleton");
}
/*---------------------------------------.
| Parse what comes after %skeleton_path. |
`---------------------------------------*/
void
parse_skelpath_decl (void)
{
- /* Complete with parse_dquoted_param () on the CVS branch 1.29. */
+ skeleton_path = parse_dquoted_param ("skeleton-path");
}
--
Marc Autret
- [trunk]: I-option2.patch,
Marc Autret <=