aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/truncate
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>2000-07-24 21:50:38 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>2000-07-24 21:50:38 +0000
commitb86e825a0cada5900f23f23d32fddd1528c68519 (patch)
tree917ce3c3a663fce8e1896593699cfc096fb0972e /usr.bin/truncate
parentdee82c612aad035a849ccb4ce86a3ca0161dd608 (diff)
Notes
Diffstat (limited to 'usr.bin/truncate')
-rw-r--r--usr.bin/truncate/truncate.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/usr.bin/truncate/truncate.c b/usr.bin/truncate/truncate.c
index 8a1feff01edb..ed4306ad3fef 100644
--- a/usr.bin/truncate/truncate.c
+++ b/usr.bin/truncate/truncate.c
@@ -58,15 +58,15 @@ main(int argc, char **argv)
char *fname, *rname;
rsize = tsize = 0;
- rname = NULL;
error = 0;
+ rname = NULL;
while ((ch = getopt(argc, argv, "cr:s:")) != -1)
switch (ch) {
case 'c':
- no_create++;
+ no_create = 1;
break;
case 'r':
- do_refer++;
+ do_refer = 1;
rname = optarg;
break;
case 's':
@@ -74,8 +74,8 @@ main(int argc, char **argv)
errx(EXIT_FAILURE,
"invalid size argument `%s'", optarg);
if (*optarg == '+' || *optarg == '-')
- do_relative++;
- got_size++;
+ do_relative = 1;
+ got_size = 1;
break;
default:
usage();
@@ -90,18 +90,16 @@ main(int argc, char **argv)
* do_relative implies got_size, do_relative and do_refer are
* also mutually exclusive. See usage() for allowed invocations.
*/
- if (!(do_refer || got_size) || (do_refer && got_size) || argc < 1)
+ if (do_refer + got_size != 1 || argc < 1)
usage();
if (do_refer) {
if (stat(rname, &sb) == -1)
err(EXIT_FAILURE, "%s", rname);
tsize = sb.st_size;
- } else if (got_size) {
- if (do_relative)
- rsize = sz;
- else
- tsize = sz;
- }
+ } else if (do_relative)
+ rsize = sz;
+ else
+ tsize = sz;
if (no_create)
oflags = O_WRONLY;