53 |
}; |
}; |
54 |
|
|
55 |
/* boa.conf tokens */ |
/* boa.conf tokens */ |
56 |
%token <cval> STMT_NO_ARGS STMT_ONE_ARG STMT_TWO_ARGS STMT_FOUR_ARGS |
%token <cval> STMT_NO_ARGS STMT_ONE_ARG STMT_TWO_ARGS STMT_THREE_ARGS STMT_FOUR_ARGS |
57 |
|
|
58 |
/* mime.type tokens */ |
/* mime.type tokens */ |
59 |
%token <sval> MIMETYPE |
%token <sval> MIMETYPE |
76 |
StmtNoArgs |
StmtNoArgs |
77 |
| StmtOneArg |
| StmtOneArg |
78 |
| StmtTwoArgs |
| StmtTwoArgs |
79 |
|
| StmtThreeArgs |
80 |
| StmtFourArgs |
| StmtFourArgs |
81 |
; |
; |
82 |
|
|
106 |
} |
} |
107 |
free(arg1hold); |
free(arg1hold); |
108 |
} |
} |
109 |
|
; |
110 |
|
|
111 |
|
StmtThreeArgs: STMT_THREE_ARGS STRING |
112 |
|
{ arg1hold = strdup($2); } |
113 |
|
STRING |
114 |
|
{ arg2hold = strdup($4); } |
115 |
|
STRING |
116 |
|
{ if ($1->action) { |
117 |
|
DBG(printf("StmtThreeArgs: '%s' '%s' '%s' '%s'\n", |
118 |
|
$1->name,arg1hold, arg2hold, $6);) |
119 |
|
$1->action(arg1hold, arg2hold, $6, NULL, $1->object); |
120 |
|
} |
121 |
|
free(arg1hold); |
122 |
|
free(arg2hold); |
123 |
|
} |
124 |
|
; |
125 |
|
|
126 |
StmtFourArgs: STMT_FOUR_ARGS STRING |
StmtFourArgs: STMT_FOUR_ARGS STRING |
127 |
{ arg1hold = strdup($2); } |
{ arg1hold = strdup($2); } |
128 |
STRING |
STRING |
131 |
{ arg3hold = strdup($6); } |
{ arg3hold = strdup($6); } |
132 |
STRING |
STRING |
133 |
{ if ($1->action) { |
{ if ($1->action) { |
134 |
DBG(printf("StmtTwoArgs: '%s' '%s' '%s' '%s' '%s'\n", |
DBG(printf("StmtFourArgs: '%s' '%s' '%s' '%s' '%s'\n", |
135 |
$1->name,arg1hold, arg2hold, arg3hold, $8);) |
$1->name,arg1hold, arg2hold, arg3hold, $8);) |
136 |
$1->action(arg1hold, arg2hold, arg3hold, $8, $1->object); |
$1->action(arg1hold, arg2hold, arg3hold, $8, $1->object); |
137 |
} |
} |