287 |
{ |
{ |
288 |
struct buffer_ctx *ctx; |
struct buffer_ctx *ctx; |
289 |
|
|
|
fclose(yyin); |
|
|
#ifndef FLEX_SCANNER |
|
|
lex_delete_buffer(current_buffer); |
|
|
#endif |
|
290 |
if (!context_stack) { |
if (!context_stack) { |
291 |
yyin = NULL; |
yyin = NULL; |
292 |
return 1; |
return 1; |
293 |
} |
} |
294 |
|
fclose(yyin); |
295 |
|
#ifndef FLEX_SCANNER |
296 |
|
lex_delete_buffer(current_buffer); |
297 |
|
#endif |
298 |
/* Restore previous context */ |
/* Restore previous context */ |
299 |
source_filename = context_stack->filename; |
source_filename = context_stack->filename; |
300 |
source_line_num = context_stack->line; |
source_line_num = context_stack->line; |
455 |
* It is based on the assumption that only user names start |
* It is based on the assumption that only user names start |
456 |
* at column 0 |
* at column 0 |
457 |
*/ |
*/ |
458 |
void |
int |
459 |
users_sync() |
users_sync() |
460 |
{ |
{ |
461 |
int c; |
int c; |
467 |
if (!isspace(c)) { |
if (!isspace(c)) { |
468 |
if (c) |
if (c) |
469 |
unput(c); |
unput(c); |
470 |
return; |
break; |
471 |
} |
} |
472 |
} |
} |
473 |
} |
} |
474 |
|
return c; |
475 |
} |
} |
476 |
|
|
477 |
#define isws(c) ((c) == ' ' || (c) == '\t') |
#define isws(c) ((c) == ' ' || (c) == '\t') |