cfgparse: Don’t use asprintf when parsing hex colors
This commit is contained in:
parent
3a99c914e0
commit
77961ad9c8
|
@ -138,7 +138,7 @@ EOL (\r?\n)
|
||||||
<WANT_STRING>[^\n]+ { yy_pop_state(); yylval.string = sstrdup(yytext); return STR; }
|
<WANT_STRING>[^\n]+ { yy_pop_state(); yylval.string = sstrdup(yytext); return STR; }
|
||||||
<OUTPUT_COND>[a-zA-Z0-9_-]+ { yy_pop_state(); yylval.string = sstrdup(yytext); return OUTPUT; }
|
<OUTPUT_COND>[a-zA-Z0-9_-]+ { yy_pop_state(); yylval.string = sstrdup(yytext); return OUTPUT; }
|
||||||
^[ \t]*#[^\n]* { return TOKCOMMENT; }
|
^[ \t]*#[^\n]* { return TOKCOMMENT; }
|
||||||
<COLOR_COND>[0-9a-fA-F]+ { yy_pop_state(); yylval.string = sstrdup(yytext); return HEX; }
|
<COLOR_COND>#[0-9a-fA-F]+ { yy_pop_state(); yylval.string = sstrdup(yytext+1); return HEXCOLOR; }
|
||||||
<ASSIGN_TARGET_COND>[ \t]*→[ \t]* { BEGIN(WANT_STRING); }
|
<ASSIGN_TARGET_COND>[ \t]*→[ \t]* { BEGIN(WANT_STRING); }
|
||||||
<ASSIGN_TARGET_COND>[ \t]+ { BEGIN(WANT_STRING); }
|
<ASSIGN_TARGET_COND>[ \t]+ { BEGIN(WANT_STRING); }
|
||||||
[0-9]+ { yylval.number = atoi(yytext); return NUMBER; }
|
[0-9]+ { yylval.number = atoi(yytext); return NUMBER; }
|
||||||
|
|
|
@ -590,7 +590,6 @@ void parse_file(const char *f) {
|
||||||
%token <string> WORD "<word>"
|
%token <string> WORD "<word>"
|
||||||
%token <string> STR "<string>"
|
%token <string> STR "<string>"
|
||||||
%token <string> STR_NG "<string (non-greedy)>"
|
%token <string> STR_NG "<string (non-greedy)>"
|
||||||
%token <string> HEX "<hex>"
|
|
||||||
%token <string> HEXCOLOR "#<hex>"
|
%token <string> HEXCOLOR "#<hex>"
|
||||||
%token <string> OUTPUT "<RandR output>"
|
%token <string> OUTPUT "<RandR output>"
|
||||||
%token TOKBINDCODE
|
%token TOKBINDCODE
|
||||||
|
@ -1506,14 +1505,10 @@ color:
|
||||||
;
|
;
|
||||||
|
|
||||||
colorpixel:
|
colorpixel:
|
||||||
'#' HEX
|
HEXCOLOR
|
||||||
{
|
{
|
||||||
char *hex;
|
$$ = get_colorpixel($1);
|
||||||
if (asprintf(&hex, "#%s", $2) == -1)
|
free($1);
|
||||||
die("asprintf()");
|
|
||||||
free($2);
|
|
||||||
$$ = get_colorpixel(hex);
|
|
||||||
free(hex);
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue