← Commit list

2cd4a747e

Denis Vlasenko
Denis Vlasenko
2007-12-11
FAILED Duration: 13s

Subject

num conversions: allow for leading '+' (renice needs that)

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/xatonum_template.c+7 -5
@@ -21,9 +21,8 @@ unsigned type xstrtou(_range_sfx)(const char *numstr, int base,
int old_errno;
char *e;
- /* Disallow '-' and any leading whitespace. Speed isn't critical here
- * since we're parsing commandline args. So make sure we get the
- * actual isspace function rather than a lnumstrer macro implementaion. */
+ /* Disallow '-' and any leading whitespace. Make sure we get the
+ * actual isspace function rather than a macro implementaion. */
if (*numstr == '-' || *numstr == '+' || (isspace)(*numstr))
goto inval;
@@ -127,9 +126,12 @@ type xstrto(_range_sfx)(const char *numstr, int base,
type r;
const char *p = numstr;
- if (p[0] == '-') {
+ /* NB: if you'll decide to disallow '+':
+ * at least renice applet needs to allow it */
+ if (p[0] == '+' || p[0] == '-') {
++p;
- ++u; /* two's complement */
+ if (p[0] == '-')
+ ++u; /* = <type>_MIN (01111... + 1 == 10000...) */
}
r = xstrtou(_range_sfx)(p, base, 0, u, suffixes);