Merge of master-melb:xfs-cmds:28212a by kenmcd.
fsx was calling vfprintf twice without resetting the va_list argument and
this caused a segfault on the second call. Now uses one call to vsnprintf
to print to a buffer and uses that multiple times.
va_end(ap);
}
+#define BUF_SIZE 1024
+
void
prt(char *fmt, ...)
{
va_list args;
+ char buffer[BUF_SIZE];
va_start(args, fmt);
- vfprintf(stdout, fmt, args);
- if (fsxlogf)
- vfprintf(fsxlogf, fmt, args);
+ vsnprintf(buffer, BUF_SIZE, fmt, args);
va_end(args);
+ fprintf(stdout, buffer);
+ if (fsxlogf)
+ fprintf(fsxlogf, buffer);
}
void