| 184 | } |
| 185 | |
| 186 | void unget(int cc) |
| 187 | { |
| 188 | if (cc == EOF) return; |
| 189 | if (buffered < MAX_BUF) { |
| 190 | if (cc == '\n' || cc == '\r') { |
| 191 | linenr--; |
| 192 | // column was 0 right after getting the \n |
| 193 | // hopefully there are no multiple ungets of \n |
| 194 | column = saved_col; |
| 195 | } |
| 196 | else |
| 197 | column--; |
| 198 | buffer[buffered++] = cc; |
| 199 | } |
| 200 | else { |
| 201 | fprintf(stderr, "(F): Lookahead buffer overflow (MAX=%u).\n", MAX_BUF); |
| 202 | exit(2); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | /* Determine programming language from filename extension: |
| 207 | .c | C |
nothing calls this directly
no outgoing calls
no test coverage detected