cmListFileLexer_yylex_destroy is for both reentrant and non-reentrant scanners. */
| 2296 | |
| 2297 | /* cmListFileLexer_yylex_destroy is for both reentrant and non-reentrant scanners. */ |
| 2298 | int cmListFileLexer_yylex_destroy (yyscan_t yyscanner) |
| 2299 | { |
| 2300 | struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; |
| 2301 | |
| 2302 | /* Pop the buffer stack, destroying each element. */ |
| 2303 | while(YY_CURRENT_BUFFER){ |
| 2304 | cmListFileLexer_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); |
| 2305 | YY_CURRENT_BUFFER_LVALUE = NULL; |
| 2306 | cmListFileLexer_yypop_buffer_state(yyscanner); |
| 2307 | } |
| 2308 | |
| 2309 | /* Destroy the stack itself. */ |
| 2310 | cmListFileLexer_yyfree(yyg->yy_buffer_stack ,yyscanner); |
| 2311 | yyg->yy_buffer_stack = NULL; |
| 2312 | |
| 2313 | /* Destroy the start condition stack. */ |
| 2314 | cmListFileLexer_yyfree(yyg->yy_start_stack ,yyscanner ); |
| 2315 | yyg->yy_start_stack = NULL; |
| 2316 | |
| 2317 | /* Reset the globals. This is important in a non-reentrant scanner so the next time |
| 2318 | * cmListFileLexer_yylex() is called, initialization will occur. */ |
| 2319 | yy_init_globals( yyscanner); |
| 2320 | |
| 2321 | /* Destroy the main struct (reentrant only). */ |
| 2322 | cmListFileLexer_yyfree ( yyscanner , yyscanner ); |
| 2323 | yyscanner = NULL; |
| 2324 | return 0; |
| 2325 | } |
| 2326 | |
| 2327 | /* |
| 2328 | * Internal utility routines. |
no test coverage detected