diff --git a/src/findutils/xargs/xargs.c b/src/findutils/xargs/xargs.c index a675c04..96570ac 100644 --- a/src/findutils/xargs/xargs.c +++ b/src/findutils/xargs/xargs.c @@ -104,11 +104,10 @@ int xargs(void) { break; } - if (flag == NONE && is_correct(c) && strlen(arg) > 0) { - int r = 0; + if (flag == NONE && is_correct(c) && index > 0) { PUSH: - - r = add_arg(arg, chars, 0); + arg[index] = '\0'; + int r = add_arg(arg, chars, 0); if (r == ERROR) break; @@ -148,11 +147,10 @@ PUSH: return ERROR; } + arg = tmp; arg[index] = c; index++; - arg[index] = '\0'; - chars++; } }