| 1392 | static int yyinput (void) |
| 1393 | #else |
| 1394 | static int input (void) |
| 1395 | #endif |
| 1396 | |
| 1397 | { |
| 1398 | int c; |
| 1399 | |
| 1400 | *(yy_c_buf_p) = (yy_hold_char); |
| 1401 | |
| 1402 | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) |
| 1403 | { |
| 1404 | /* yy_c_buf_p now points to the character we want to return. |
| 1405 | * If this occurs *before* the EOB characters, then it's a |
| 1406 | * valid NUL; if not, then we've hit the end of the buffer. |
| 1407 | */ |
| 1408 | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) |
| 1409 | /* This was really a NUL. */ |
| 1410 | *(yy_c_buf_p) = '\0'; |
| 1411 | |
| 1412 | else |
| 1413 | { /* need more input */ |
| 1414 | int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); |
| 1415 | ++(yy_c_buf_p); |
| 1416 | |
| 1417 | switch ( yy_get_next_buffer( ) ) |
| 1418 | { |
| 1419 | case EOB_ACT_LAST_MATCH: |
| 1420 | /* This happens because yy_g_n_b() |
| 1421 | * sees that we've accumulated a |
| 1422 | * token and flags that we need to |
| 1423 | * try matching the token before |
| 1424 | * proceeding. But for input(), |
| 1425 | * there's no matching to consider. |
| 1426 | * So convert the EOB_ACT_LAST_MATCH |
| 1427 | * to EOB_ACT_END_OF_FILE. |
| 1428 | */ |
| 1429 | |
| 1430 | /* Reset buffer status. */ |
| 1431 | yyrestart( yyin ); |
| 1432 | |
| 1433 | /*FALLTHROUGH*/ |
| 1434 | |
| 1435 | case EOB_ACT_END_OF_FILE: |
| 1436 | { |
| 1437 | if ( yywrap( ) ) |
| 1438 | return 0; |
| 1439 | |
| 1440 | if ( ! (yy_did_buffer_switch_on_eof) ) |
| 1441 | YY_NEW_FILE; |
| 1442 | #ifdef __cplusplus |
| 1443 | return yyinput(); |
| 1444 | #else |
| 1445 | return input(); |
| 1446 | #endif |
| 1447 | } |
| 1448 | |
| 1449 | case EOB_ACT_CONTINUE_SCAN: |
| 1450 | (yy_c_buf_p) = (yytext_ptr) + offset; |
| 1451 | break; |
nothing calls this directly
no test coverage detected