char const *lim = where + digs;
int negative = 0;
- /* Accommodate older tars, which output leading spaces, and at least one
- buggy tar, which outputs leading NUL if the previous field overflows. */
+ /* Accommodate buggy tar of unknown vintage, which outputs leading
+ NUL if the previous field overflows. */
+ where += !*where;
+
+ /* Accommodate older tars, which output leading spaces. */
for (;;)
{
if (where == lim)
{
if (type)
ERROR ((0, 0,
- _("Empty header where numeric %s value expected"),
+ _("Blanks in header where numeric %s value expected"),
type));
return -1;
}
- if (!ISSPACE ((unsigned char) *where) && *where)
+ if (!ISSPACE ((unsigned char) *where))
break;
where++;
}