small change to du,
so it will accepts unit suffixes for negative thresholds
Alexander Best
arundel at freebsd.org
Thu Mar 1 23:38:22 UTC 2012
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
-------------- next part --------------
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;
More information about the freebsd-hackers
mailing list