Subversion Repositories HelenOS

Rev

Rev 2787 | Rev 4377 | 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
            }