]> git.sur5r.net Git - kconfig-frontends/blobdiff - libs/parser/lconf.l
Synchronise with v4.3
[kconfig-frontends] / libs / parser / lconf.l
index 200a3fe3009153bba22742e862f6114f9e7f5fc8..c410d257da0602dc9b4de92dac457e237c097399 100644 (file)
@@ -66,9 +66,16 @@ static void alloc_string(const char *str, int size)
        memcpy(text, str, size);
        text[size] = 0;
 }
+
+static void warn_ignored_character(char chr)
+{
+       fprintf(stderr,
+               "%s:%d:warning: ignoring unsupported character '%c'\n",
+               zconf_curname(), zconf_lineno(), chr);
+}
 %}
 
-n      [A-Za-z0-9_]
+n      [A-Za-z0-9_-]
 
 %%
        int str = 0;
@@ -106,7 +113,7 @@ n   [A-Za-z0-9_]
                zconflval.string = text;
                return T_WORD;
        }
-       .
+       .       warn_ignored_character(*yytext);
        \n      {
                BEGIN(INITIAL);
                current_file->lineno++;
@@ -132,8 +139,7 @@ n   [A-Za-z0-9_]
                BEGIN(STRING);
        }
        \n      BEGIN(INITIAL); current_file->lineno++; return T_EOL;
-       ---     /* ignore */
-       ({n}|[-/.])+    {
+       ({n}|[/.])+     {
                const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
                if (id && id->flags & TF_PARAM) {
                        zconflval.id = id;
@@ -146,11 +152,7 @@ n  [A-Za-z0-9_]
        #.*     /* comment */
        \\\n    current_file->lineno++;
        [[:blank:]]+
-       .       {
-               fprintf(stderr,
-                       "%s:%d:warning: ignoring unsupported character '%c'\n",
-                       zconf_curname(), zconf_lineno(), *yytext);
-       }
+       .       warn_ignored_character(*yytext);
        <<EOF>> {
                BEGIN(INITIAL);
        }