(main): Don't advance optarg past leading sign -- otherwise, we'd
be making tail accept invalid options like `-+1'.
(tail_file): Fix call to error with %s in format, but no corresponding argument.
#include "system.h"
#include "version.h"
#include "xstrtol.h"
+#include "error.h"
/* Disable assertions. Some systems have broken assert macros. */
#define NDEBUG 1
};
char *xmalloc ();
-void error ();
int safe_read ();
static int file_lines ();
if (*optarg == '+')
{
from_start = 1;
- ++optarg;
}
- else if (*optarg == '-')
- ++optarg;
- /* FIXME: make sure tmp_long can't be negative. */
s_err = xstrtol (optarg, NULL, 0, &tmp_long, 1);
+ if (tmp_long < 0)
+ tmp_long = -tmp_long;
n_units = tmp_long;
if (s_err != LONGINT_OK)
{
}
else if (!S_ISREG (stats.st_mode))
{
- error (0, 0, "%s: cannot follow end of non-regular file");
+ error (0, 0, "%s: cannot follow end of non-regular file",
+ filename);
errors = 1;
}
if (errors)