** Checks symbol from lexer against variable length list of ** legal symbols. */
| 164 | ** legal symbols. |
| 165 | */ |
| 166 | int getSymbol(int n, ...) { |
| 167 | int symbol; |
| 168 | va_list argp; |
| 169 | int i=0; |
| 170 | |
| 171 | symbol = msyylex(); |
| 172 | |
| 173 | va_start(argp, n); |
| 174 | while(i<n) { /* check each symbol in the list */ |
| 175 | if(symbol == va_arg(argp, int)) { |
| 176 | va_end(argp); |
| 177 | return(symbol); |
| 178 | } |
| 179 | i++; |
| 180 | } |
| 181 | |
| 182 | va_end(argp); |
| 183 | |
| 184 | msSetError(MS_SYMERR, "Parsing error near (%s):(line %d)", "getSymbol()", msyystring_buffer, msyylineno); |
| 185 | return(-1); |
| 186 | } |
| 187 | |
| 188 | /* |
| 189 | ** Get a string or symbol as a string. Operates like getString(), but also |
no test coverage detected