diff options
author | Roy Marples <roy@marples.name> | 2008-05-12 08:32:19 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2008-05-12 08:32:19 +0000 |
commit | b732df31efa47244a88a0faf8d503e96da1b0777 (patch) | |
tree | c6623a83f8ee81a0e64a63f197aa26a369be5e1f /src/rc | |
parent | 762dc3d197c9383f746547dde2ad81543861166f (diff) |
Don't report fstab passno of 0 when using greater or less than, #76.
Diffstat (limited to 'src/rc')
-rw-r--r-- | src/rc/fstabinfo.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/rc/fstabinfo.c b/src/rc/fstabinfo.c index 644f3530..65b3993b 100644 --- a/src/rc/fstabinfo.c +++ b/src/rc/fstabinfo.c @@ -159,7 +159,7 @@ int fstabinfo(int argc, char **argv) struct ENT *ent; int result = EXIT_SUCCESS; char *token; - int i; + int i, p; int opt; int output = OUTPUT_FILE; RC_STRINGLIST *files = rc_stringlist_new(); @@ -200,13 +200,17 @@ int fstabinfo(int argc, char **argv) argv[0], optarg + 1); filtered = true; + opt = optarg[0]; START_ENT; while ((ent = GET_ENT)) { - if (((optarg[0] == '=' && i == ENT_PASS(ent)) || - (optarg[0] == '<' && i > ENT_PASS(ent)) || - (optarg[0] == '>' && i < ENT_PASS(ent))) && - strcmp(ENT_FILE(ent), "none") != 0) - rc_stringlist_add(files, ENT_FILE(ent)); + if (strcmp(ENT_FILE(ent), "none") == 0) + continue; + p = ENT_PASS(ent); + if ((opt == '=' && i == p) || + (opt == '<' && i > p && p != 0) || + (opt == '>' && i < p && p != 0)) + rc_stringlist_add(files, + ENT_FILE(ent)); } END_ENT; break; |