MCPcopy Create free account
hub / github.com/KDE/kdevelop / cmListFileLexer_yylex_destroy

Function cmListFileLexer_yylex_destroy

plugins/cmake/parser/cmListFileLexer.c:2298–2325  ·  view source on GitHub ↗

cmListFileLexer_yylex_destroy is for both reentrant and non-reentrant scanners. */

Source from the content-addressed store, hash-verified

2296
2297/* cmListFileLexer_yylex_destroy is for both reentrant and non-reentrant scanners. */
2298int 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.

Callers 1

cmListFileLexerDestroyFunction · 0.85

Calls 4

cmListFileLexer_yyfreeFunction · 0.85
yy_init_globalsFunction · 0.85

Tested by

no test coverage detected