The memmove() itself does not move the NULL-terminator, because nargs is
decremented first. Copy how skill_sig_option() does it: decrement nargs
last, and remove the "if (nargs - i)" (we are in "while (i < nargs)").
if (prio < INT_MIN || INT_MAX < prio)
xerrx(EXIT_FAILURE,
_("priority %lu out of range"), prio);
+ memmove(argv + i, argv + i + 1,
+ sizeof(char *) * (nargs - i));
nargs--;
- if (nargs - i)
- memmove(argv + i, argv + i + 1,
- sizeof(char *) * (nargs - i));
} else
i++;
}