kconfig: stop supporting '.' and '/' in unquoted words

In my understanding, special characters such as '.' and '/' are
supported in unquoted words to use bare file paths in the "source"
statement.

With the previous commit surrounding all file paths with double
quotes, we can drop this.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Masahiro Yamada 2018-12-11 20:01:05 +09:00
parent 8636a1f967
commit f5451582c4
2 changed files with 3 additions and 4 deletions

View file

@ -555,8 +555,7 @@ char *expand_string(const char *in)
static bool is_end_of_token(char c) static bool is_end_of_token(char c)
{ {
/* Why are '.' and '/' valid characters for symbols? */ return !(isalnum(c) || c == '_' || c == '-');
return !(isalnum(c) || c == '_' || c == '-' || c == '.' || c == '/');
} }
/* /*

View file

@ -160,7 +160,7 @@ n [A-Za-z0-9_-]
BEGIN(STRING); BEGIN(STRING);
} }
\n BEGIN(INITIAL); return T_EOL; \n BEGIN(INITIAL); return T_EOL;
({n}|[/.])+ { {n}+ {
const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
if (id && id->flags & TF_PARAM) { if (id && id->flags & TF_PARAM) {
yylval.id = id; yylval.id = id;
@ -170,7 +170,7 @@ n [A-Za-z0-9_-]
yylval.string = text; yylval.string = text;
return T_WORD; return T_WORD;
} }
({n}|[/.$])+ { ({n}|$)+ {
/* this token includes at least one '$' */ /* this token includes at least one '$' */
yylval.string = expand_token(yytext, yyleng); yylval.string = expand_token(yytext, yyleng);
if (strlen(yylval.string)) if (strlen(yylval.string))