Rev 2787 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2787 | Rev 3425 | ||
---|---|---|---|
Line 255... | Line 255... | ||
255 | while (1) { |
255 | while (1) { |
256 | c = _getc(input); |
256 | c = _getc(input); |
257 | if (c == '\n') { |
257 | if (c == '\n') { |
258 | putchar(c); |
258 | putchar(c); |
259 | break; |
259 | break; |
- | 260 | } |
|
260 | } if (c == '\b') { /* Backspace */ |
261 | if (c == '\b') { /* Backspace */ |
261 | if (position == 0) |
262 | if (position == 0) |
262 | continue; |
263 | continue; |
263 | for (i = position; i < curlen; i++) |
264 | for (i = position; i < curlen; i++) |
264 | current[i - 1] = current[i]; |
265 | current[i - 1] = current[i]; |
265 | curlen--; |
266 | curlen--; |
Line 541... | Line 542... | ||
541 | switch (cmd->argv[i].type) { |
542 | switch (cmd->argv[i].type) { |
542 | case ARG_TYPE_STRING: |
543 | case ARG_TYPE_STRING: |
543 | buf = (char *) cmd->argv[i].buffer; |
544 | buf = (char *) cmd->argv[i].buffer; |
544 | strncpy(buf, (const char *) &cmdline[start], |
545 | strncpy(buf, (const char *) &cmdline[start], |
545 | min((end - start) + 2, cmd->argv[i].len)); |
546 | min((end - start) + 2, cmd->argv[i].len)); |
546 | buf[min((end - start) + 1, cmd->argv[i].len - 1)] = '\0'; |
547 | buf[min((end - start) + 1, cmd->argv[i].len - 1)] = |
- | 548 | '\0'; |
|
547 | break; |
549 | break; |
548 | case ARG_TYPE_INT: |
550 | case ARG_TYPE_INT: |
549 | if (parse_int_arg(cmdline + start, end - start + 1, |
551 | if (parse_int_arg(cmdline + start, end - start + 1, |
550 | &cmd->argv[i].intval)) |
552 | &cmd->argv[i].intval)) |
551 | error = 1; |
553 | error = 1; |
Line 558... | Line 560... | ||
558 | min((end-start), cmd->argv[i].len)); |
560 | min((end-start), cmd->argv[i].len)); |
559 | buf[min((end - start), cmd->argv[i].len - 1)] = |
561 | buf[min((end - start), cmd->argv[i].len - 1)] = |
560 | '\0'; |
562 | '\0'; |
561 | cmd->argv[i].intval = (unative_t) buf; |
563 | cmd->argv[i].intval = (unative_t) buf; |
562 | cmd->argv[i].vartype = ARG_TYPE_STRING; |
564 | cmd->argv[i].vartype = ARG_TYPE_STRING; |
563 | } else if (!parse_int_arg(cmdline + start, end - start + 1, |
565 | } else if (!parse_int_arg(cmdline + start, |
564 | &cmd->argv[i].intval)) { |
566 | end - start + 1, &cmd->argv[i].intval)) { |
565 | cmd->argv[i].vartype = ARG_TYPE_INT; |
567 | cmd->argv[i].vartype = ARG_TYPE_INT; |
566 | } else { |
568 | } else { |
567 | printf("Unrecognized variable argument.\n"); |
569 | printf("Unrecognized variable argument.\n"); |
568 | error = 1; |
570 | error = 1; |
569 | } |
571 | } |