mirror of https://github.com/omar-polo/gmid.git
turn log styles into strings from yacc point of view
having styles as reserved keywords means that variables / macros can't be called `common', `condensed', etc... which is not great and not obvious either. Instead, let's keep the log styles as strings and match on them. This also allows to have a slightly better error message in case of a typo. See: https://codeberg.org/op/gmid/issues/1
This commit is contained in:
parent
574f71f7a3
commit
f862d389ff
33
parse.y
33
parse.y
|
@ -1,7 +1,7 @@
|
||||||
%{
|
%{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2021, 2022, 2023 Omar Polo <op@omarpolo.com>
|
* Copyright (c) 2021-2024 Omar Polo <op@omarpolo.com>
|
||||||
* Copyright (c) 2018 Florian Obser <florian@openbsd.org>
|
* Copyright (c) 2018 Florian Obser <florian@openbsd.org>
|
||||||
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
|
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
|
||||||
* Copyright (c) 2004 Ryan McBride <mcbride@openbsd.org>
|
* Copyright (c) 2004 Ryan McBride <mcbride@openbsd.org>
|
||||||
|
@ -125,12 +125,12 @@ typedef struct {
|
||||||
|
|
||||||
%token ACCESS ALIAS AUTO
|
%token ACCESS ALIAS AUTO
|
||||||
%token BLOCK
|
%token BLOCK
|
||||||
%token CA CERT CHROOT CLIENT COMBINED COMMON CONDENSED
|
%token CA CERT CHROOT CLIENT
|
||||||
%token DEFAULT
|
%token DEFAULT
|
||||||
%token FACILITY FASTCGI FOR_HOST
|
%token FACILITY FASTCGI FOR_HOST
|
||||||
%token INCLUDE INDEX IPV6
|
%token INCLUDE INDEX IPV6
|
||||||
%token KEY
|
%token KEY
|
||||||
%token LANG LEGACY LISTEN LOCATION LOG
|
%token LANG LISTEN LOCATION LOG
|
||||||
%token OCSP OFF ON
|
%token OCSP OFF ON
|
||||||
%token PARAM PORT PREFORK PROTO PROTOCOLS PROXY
|
%token PARAM PORT PREFORK PROTO PROTOCOLS PROXY
|
||||||
%token RELAY_TO REQUIRE RETURN ROOT
|
%token RELAY_TO REQUIRE RETURN ROOT
|
||||||
|
@ -264,17 +264,18 @@ logopt : ACCESS string {
|
||||||
free(conf->log_access);
|
free(conf->log_access);
|
||||||
conf->log_access = $2;
|
conf->log_access = $2;
|
||||||
}
|
}
|
||||||
| STYLE COMMON {
|
| STYLE string {
|
||||||
conf->log_format = LOG_FORMAT_COMMON;
|
if (!strcmp("combined", $2))
|
||||||
}
|
conf->log_format = LOG_FORMAT_COMBINED;
|
||||||
| STYLE COMBINED {
|
else if (!strcmp("common", $2))
|
||||||
conf->log_format = LOG_FORMAT_COMBINED;
|
conf->log_format = LOG_FORMAT_COMMON;
|
||||||
}
|
else if (!strcmp("condensed", $2))
|
||||||
| STYLE CONDENSED {
|
conf->log_format = LOG_FORMAT_CONDENSED;
|
||||||
conf->log_format = LOG_FORMAT_CONDENSED;
|
else if (!strcmp("legacy", $2))
|
||||||
}
|
conf->log_format = LOG_FORMAT_LEGACY;
|
||||||
| STYLE LEGACY {
|
else
|
||||||
conf->log_format = LOG_FORMAT_LEGACY;
|
yyerror("unknown log style: %s", $2);
|
||||||
|
free($2);
|
||||||
}
|
}
|
||||||
| SYSLOG FACILITY string {
|
| SYSLOG FACILITY string {
|
||||||
const char *str = $3;
|
const char *str = $3;
|
||||||
|
@ -654,9 +655,6 @@ static const struct keyword {
|
||||||
{"cert", CERT},
|
{"cert", CERT},
|
||||||
{"chroot", CHROOT},
|
{"chroot", CHROOT},
|
||||||
{"client", CLIENT},
|
{"client", CLIENT},
|
||||||
{"combined", COMBINED},
|
|
||||||
{"common", COMMON},
|
|
||||||
{"condensed", CONDENSED},
|
|
||||||
{"default", DEFAULT},
|
{"default", DEFAULT},
|
||||||
{"facility", FACILITY},
|
{"facility", FACILITY},
|
||||||
{"fastcgi", FASTCGI},
|
{"fastcgi", FASTCGI},
|
||||||
|
@ -666,7 +664,6 @@ static const struct keyword {
|
||||||
{"ipv6", IPV6},
|
{"ipv6", IPV6},
|
||||||
{"key", KEY},
|
{"key", KEY},
|
||||||
{"lang", LANG},
|
{"lang", LANG},
|
||||||
{"legacy", LEGACY},
|
|
||||||
{"listen", LISTEN},
|
{"listen", LISTEN},
|
||||||
{"location", LOCATION},
|
{"location", LOCATION},
|
||||||
{"log", LOG},
|
{"log", LOG},
|
||||||
|
|
Loading…
Reference in New Issue