Fixed checking for redirection tokens

This commit is contained in:
Jim Monte 2019-12-12 20:07:45 -05:00
parent fc696a294e
commit 1c61d2a699
1 changed files with 7 additions and 7 deletions

View File

@ -47,13 +47,13 @@ wordlist *cp_redirect(wordlist *wl)
{
int gotinput = 0, gotoutput = 0, goterror = 0, append = 0;
wordlist *w;
char *fname;
FILE *fp;
w = wl->wl_next; /* Don't consider empty commands. */
while (w) {
if (*w->wl_word == cp_lt) {
char *fname;
if (*w->wl_word == cp_lt && w->wl_word[1] == '\0') {
wordlist *beg = w;
@ -63,14 +63,14 @@ wordlist *cp_redirect(wordlist *wl)
}
w = w->wl_next;
if (w && *w->wl_word == cp_lt) {
if (w && *w->wl_word == cp_lt && w->wl_word[1] == '\0') {
fprintf(cp_err, "Error: `<<' redirection is not implemented.\n");
goto error;
}
if (!w) {
fprintf(cp_err, "Error: missing name for input.\n");
return (NULL);
return (wordlist *) NULL;
}
fname = cp_unquote(w->wl_word);
@ -100,7 +100,7 @@ wordlist *cp_redirect(wordlist *wl)
}
}
else if (*w->wl_word == cp_gt) {
else if (*w->wl_word == cp_gt && w->wl_word[1] == '\0') {
wordlist *beg = w;
if (gotoutput++) {
@ -109,7 +109,7 @@ wordlist *cp_redirect(wordlist *wl)
}
w = w->wl_next;
if (w && *w->wl_word == cp_gt) {
if (w && *w->wl_word == cp_gt && w->wl_word[1] == '\0') {
append++;
w = w->wl_next;
}
@ -163,7 +163,7 @@ wordlist *cp_redirect(wordlist *wl)
else {
w = w->wl_next;
}
}
} /* end of loop over arguments */
return wl;
error: