Subversion Repositories HelenOS

Rev

Rev 3269 | Rev 3304 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3269 Rev 3275
Line 67... Line 67...
67
 
67
 
68
    if (NULL == usr->line)
68
    if (NULL == usr->line)
69
        return CL_EFAIL;
69
        return CL_EFAIL;
70
 
70
 
71
    tmp = cli_strdup(usr->line);
71
    tmp = cli_strdup(usr->line);
72
    cli_verbose("Tok: tmp = %s", tmp);
-
 
-
 
72
 
73
    /* Break up what the user typed, space delimited */
73
    /* Break up what the user typed, space delimited */
74
    cmd[n] = cli_strtok(tmp, " ");
74
    cmd[n] = cli_strtok(tmp, " ");
75
    while (cmd[n] && n < WORD_MAX) {
75
    while (cmd[n] && n < WORD_MAX) {
76
        cmd[++n] = cli_strtok(NULL, " ");
76
        cmd[++n] = cli_strtok(NULL, " ");
77
    }
77
    }
78
 
78
 
79
    for (n = 0; cmd[n] != NULL; n++)
-
 
80
        cli_verbose("arg[%d] => `%s'", n, cmd[n]);
-
 
81
 
-
 
82
    /* We have rubbish */
79
    /* We have rubbish */
83
    if (NULL == cmd[0]) {
80
    if (NULL == cmd[0]) {
84
        rc = CL_ENOENT;
81
        rc = CL_ENOENT;
85
        goto finit;
82
        goto finit;
86
    }
83
    }
Line 112... Line 109...
112
        rc = try_exec(cmd[0], cmd);
109
        rc = try_exec(cmd[0], cmd);
113
        goto finit;
110
        goto finit;
114
    }
111
    }
115
 
112
 
116
finit:
113
finit:
117
    /* Why is free complaining about these ?
-
 
118
    if (NULL != usr->line) {
114
    if (NULL != usr->line) {
119
        free(usr->line);
115
        free(usr->line);
120
        usr->line = (char *) NULL;
116
        usr->line = (char *) NULL;
121
    }
117
    }
122
    if (NULL != tmp)
118
    if (NULL != tmp)
123
        free(tmp);
119
        free(tmp);
124
    */
120
 
125
    return rc;
121
    return rc;
126
}
122
}
127
 
123
 
128
#ifdef HELENOS
124
#ifdef HELENOS
129
/* Borrowed from Jiri Svoboda's 'cli' uspace app */
125
/* Borrowed from Jiri Svoboda's 'cli' uspace app */
Line 166... Line 162...
166
#else
162
#else
167
    fgets(line, INPUT_MAX, stdin);
163
    fgets(line, INPUT_MAX, stdin);
168
#endif
164
#endif
169
    len = strlen(line);
165
    len = strlen(line);
170
    /* Make sure we don't have rubbish or a C/R happy user */
166
    /* Make sure we don't have rubbish or a C/R happy user */
171
    if (len == 0)
167
    if (len == 0 || line[0] == '\n')
172
        return;
168
        return;
173
    if (len == 1 && line[len-1] == '\n')
169
    if (len == 1 && line[len-1] == '\n')
174
        return;
170
        return;
175
#ifndef HELENOS
171
#ifndef HELENOS
176
    /* Null terminate line */
172
    /* Null terminate line */