ash: fix fallout of no-more-set commandname

Testsuite reports lots of message mismatches, fix that

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2025-08-09 17:04:16 +02:00
parent c92755133b
commit 53b3854e81

View file

@ -1445,13 +1445,14 @@ showtree(union node *n)
static void
ash_vmsg(const char *msg, va_list ap)
{
//In dash, the order/format is different:
// arg0: LINENO: [commandname:] MSG
//If you fix it, change testsuite to match
fprintf(stderr, "%s: ", arg0);
if (commandname) {
if (strcmp(arg0, commandname) != 0)
fprintf(stderr, "%s: ", commandname);
if (!iflag || g_parsefile->pf_fd > 0)
fprintf(stderr, "line %d: ", errlinno);
}
if (commandname && strcmp(arg0, commandname) != 0)
fprintf(stderr, "%s: ", commandname);
if (!iflag || g_parsefile->pf_fd > 0)
fprintf(stderr, "line %d: ", errlinno);
vfprintf(stderr, msg, ap);
newline_and_flush(stderr);
}