On Monday 10 December 2007 11:01, Paul Fox wrote:
> it seems that "renice +N <pid>" no longer works.  i assume it's
> supposed to, though the usage message doesn't mention this
> syntax.
>
> i started trying to debug it, but i confess the innards of
> xatoi_num_template.c were awfully scary.  :-)  perhaps the answer
> will be obvious to someone more acquainted with the code.

This should fix it. Can you confirm it?
--
vda
diff -d -urpN busybox.9/libbb/xatonum_template.c busybox.a/libbb/xatonum_template.c
--- busybox.9/libbb/xatonum_template.c	2007-12-01 16:07:12.000000000 -0800
+++ busybox.a/libbb/xatonum_template.c	2007-12-10 11:30:13.000000000 -0800
@@ -21,9 +21,8 @@ unsigned type xstrtou(_range_sfx)(const 
 	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,10 @@ type xstrto(_range_sfx)(const char *nums
 	type r;
 	const char *p = numstr;
 
-	if (p[0] == '-') {
+	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);
_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to