hi there,

i just noticed that du will not accepts something like the following:

du -t-500M

whereas

du -t500M

will work. i've attached a patch, which makes unit suffixes in connection with
negative thresholds possible.

cheers.
alex
diff --git a/usr.bin/du/du.1 b/usr.bin/du/du.1
index 3db1367..01d2ec1 100644
--- a/usr.bin/du/du.1
+++ b/usr.bin/du/du.1
@@ -137,6 +137,10 @@ If
 is negative, display only entries for which size is less than the absolute
 value of
 .Ar threshold .
+For both positive and negative values,
+.Ar threshold
+accepts unit suffixes
+.Po see Fl h Li option Pc .
 .It Fl x
 File system mount points are not traversed.
 .El
diff --git a/usr.bin/du/du.c b/usr.bin/du/du.c
index 7b47b71..51bfd07 100644
--- a/usr.bin/du/du.c
+++ b/usr.bin/du/du.c
@@ -175,13 +175,18 @@ main(int argc, char *argv[])
                        break;
                case 'r':                /* Compatibility. */
                        break;
-               case 't' :
+               case 't':
+                       if (strncmp(optarg, "-", 1) == 0) {
+                           optarg++;
+                           threshold_sign = -1;
+                       }
                        if (expand_number(optarg, &threshold) != 0 ||
                            threshold == 0) {
                                warnx("invalid threshold: %s", optarg);
                                usage();
-                       } else if (threshold < 0)
-                               threshold_sign = -1;
+                       }
+                       if (threshold_sign == -1)
+                           threshold = -threshold;
                        break;
                case 'x':
                        ftsoptions |= FTS_XDEV;
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to