ed_argument_digit(): * Digit that starts argument * For ESC-n */
| 404 | * For ESC-n |
| 405 | */ |
| 406 | protected el_action_t |
| 407 | ed_argument_digit(EditLine *el, Int c) |
| 408 | { |
| 409 | |
| 410 | if (!Isdigit(c)) |
| 411 | return CC_ERROR; |
| 412 | |
| 413 | if (el->el_state.doingarg) { |
| 414 | if (el->el_state.argument > 1000000) |
| 415 | return CC_ERROR; |
| 416 | el->el_state.argument = (el->el_state.argument * 10) + |
| 417 | (c - '0'); |
| 418 | } else { /* else starting an argument */ |
| 419 | el->el_state.argument = c - '0'; |
| 420 | el->el_state.doingarg = 1; |
| 421 | } |
| 422 | return CC_ARGHACK; |
| 423 | } |
| 424 | |
| 425 | |
| 426 | /* ed_unassigned(): |