diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2011-12-15 21:31:14 +0100 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2011-12-15 23:09:08 +0100 |
commit | 66ccd0387e528567dff92239e85c962d2f140ef1 (patch) | |
tree | 2ef442f78572b347dcf5ae44b734231c4d3ab473 /src/tmpfiles.c | |
parent | c971700e41e0ac9883ab0744921b79dd396170dc (diff) |
tmpfiles: use an enum instead of plain char for item type
For better safety. gcc can warn about missing values in switch statements.
Diffstat (limited to 'src/tmpfiles.c')
-rw-r--r-- | src/tmpfiles.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/tmpfiles.c b/src/tmpfiles.c index 21bf44d3a4..6171140185 100644 --- a/src/tmpfiles.c +++ b/src/tmpfiles.c @@ -50,7 +50,7 @@ * properly owned directories beneath /tmp, /var/tmp, /run, which are * volatile and hence need to be recreated on bootup. */ -enum { +typedef enum ItemType { /* These ones take file names */ CREATE_FILE = 'f', TRUNCATE_FILE = 'F', @@ -62,10 +62,10 @@ enum { IGNORE_PATH = 'x', REMOVE_PATH = 'r', RECURSIVE_REMOVE_PATH = 'R' -}; +} ItemType; typedef struct Item { - char type; + ItemType type; char *path; uid_t uid; @@ -90,7 +90,7 @@ static const char *arg_prefix = NULL; #define MAX_DEPTH 256 -static bool needs_glob(int t) { +static bool needs_glob(ItemType t) { return t == IGNORE_PATH || t == REMOVE_PATH || t == RECURSIVE_REMOVE_PATH; } @@ -701,6 +701,7 @@ static bool item_equal(Item *a, Item *b) { static int parse_line(const char *fname, unsigned line, const char *buffer) { Item *i, *existing; char *mode = NULL, *user = NULL, *group = NULL, *age = NULL; + char type; Hashmap *h; int r; @@ -720,7 +721,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { "%ms " "%ms " "%ms", - &i->type, + &type, &i->path, &mode, &user, @@ -730,6 +731,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) { r = -EIO; goto finish; } + i->type = type; if (i->type != CREATE_FILE && i->type != TRUNCATE_FILE && |