Пример #1
0
struct cmd*
parsepipe(char **ps, char *es)
{
    struct cmd *cmd;

    char *q, *eq;
    if( 1 == scan(ps, es, "|", &q, &eq) ) {
        cmd = parseexec(&q, eq);
        (*ps)++;
        cmd = pipecmd(cmd, parsepipe(ps, es));
    }
    else {
        cmd = parseexec(&q, eq);
    }
    return cmd;
}
Пример #2
0
struct cmd* parsepipe(char** ps, char* es)
{
    struct cmd* cmd = parseexec(ps, es);
    if (peek(ps, es, "|")) {
        gettoken(ps, es, 0, 0);
        cmd = pipecmd(cmd, parsepipe(ps, es));
    }
    return cmd;
}