OSDN Git Service

kconfig: rename a variable in the lexer to a clearer name
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 27 Sep 2021 12:54:37 +0000 (21:54 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 29 Sep 2021 17:08:59 +0000 (02:08 +0900)
In Kconfig, like Python, you can enclose a string by double-quotes or
single-quotes. So, both "foo" and 'foo' are allowed.

The variable, "str", is used to remember whether the string started with
a double-quote or a single-quote because open/closing quotation marks
must match.

The name "str" is too generic to understand the intent. Rename it to
"open_quote", which is easier to understand. The type should be 'char'.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Boris Kolpackov <boris@codesynthesis.com>
scripts/kconfig/lexer.l

index efe4878..cc386e4 100644 (file)
@@ -84,7 +84,7 @@ static void warn_ignored_character(char chr)
 n      [A-Za-z0-9_-]
 
 %%
-       int str = 0;
+       char open_quote = 0;
 
 #.*                    /* ignore comment */
 [ \t]*                 /* whitespaces */
@@ -133,7 +133,7 @@ n   [A-Za-z0-9_-]
 ":="                   return T_COLON_EQUAL;
 "+="                   return T_PLUS_EQUAL;
 \"|\'                  {
-                               str = yytext[0];
+                               open_quote = yytext[0];
                                new_string();
                                BEGIN(STRING);
                        }
@@ -170,7 +170,7 @@ n   [A-Za-z0-9_-]
                append_string(yytext + 1, yyleng - 1);
        }
        \'|\"   {
-               if (str == yytext[0]) {
+               if (open_quote == yytext[0]) {
                        BEGIN(INITIAL);
                        yylval.string = text;
                        return T_WORD_QUOTE;