MCPcopy Create free account
hub / github.com/amule-project/amule / input

Function input

src/Scanner.cpp:1394–1461  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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;

Callers

nothing calls this directly

Calls 2

yy_get_next_bufferFunction · 0.70
yyrestartFunction · 0.70

Tested by

no test coverage detected