diff --git a/src/xargs.c b/src/xargs.c index 537973b..4e017ab 100644 --- a/src/xargs.c +++ b/src/xargs.c @@ -30,6 +30,7 @@ static char i_flag; enum { NORMAL, CEOF, + R_FLAG, ERROR, STOP }; @@ -191,7 +192,7 @@ static int xargs(void) { } if (args_passed == 0 && ret != ERROR) - ret = CEOF; + ret = R_FLAG; free(arg); return ret; @@ -319,7 +320,7 @@ int main(int argc, char **argv) { if (stdin_stat == NORMAL) ret = spawn(); - else if (!r_flag && args_added == 0) + else if (stdin_stat == R_FLAG && !r_flag) ret = spawn(); clear_cmd();