X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftmpfiles%2Ftmpfiles.c;h=930b9a662a20ec90175f0e2c956b445b94392457;hp=0e1bd86748396228bf4412ae98ea9ca9f74ad431;hb=7a7d5db71f12ae6f3c055b88a85f6bc9305ea1c4;hpb=babc21fdc0c309e3f397fdb57fb3038b5bef654a diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 0e1bd8674..930b9a662 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -907,19 +907,17 @@ typedef enum { CREATION_NORMAL, CREATION_EXISTING, CREATION_FORCE, + _CREATION_MODE_MAX, + _CREATION_MODE_INVALID = -1 } CreationMode; -static const char* creation_verb(CreationMode mode) { - switch(mode) { - case CREATION_NORMAL: - return "Created"; - case CREATION_EXISTING: - return "Found existing"; - case CREATION_FORCE: - return "Created replacement"; - } - assert_not_reached("Bad creation"); -} +static const char *creation_mode_verb_table[_CREATION_MODE_MAX] = { + [CREATION_NORMAL] = "Created", + [CREATION_EXISTING] = "Found existing", + [CREATION_FORCE] = "Created replacement", +}; + +DEFINE_PRIVATE_STRING_TABLE_LOOKUP_TO_STRING(creation_mode_verb, CreationMode); static int create_item(Item *i) { struct stat st; @@ -1013,7 +1011,7 @@ static int create_item(Item *i) { creation = CREATION_EXISTING; } else creation = CREATION_NORMAL; - log_debug("%s directory \"%s\".", creation_verb(creation), i->path); + log_debug("%s directory \"%s\".", creation_mode_verb_to_string(creation), i->path); r = path_set_perms(i, i->path); if (r < 0) @@ -1057,7 +1055,7 @@ static int create_item(Item *i) { creation = CREATION_EXISTING; } else creation = CREATION_NORMAL; - log_debug("%s fifo \"%s\".", creation_verb(creation), i->path); + log_debug("%s fifo \"%s\".", creation_mode_verb_to_string(creation), i->path); r = path_set_perms(i, i->path); if (r < 0) @@ -1096,7 +1094,7 @@ static int create_item(Item *i) { creation = CREATION_EXISTING; } else creation = CREATION_NORMAL; - log_debug("%s symlink \"%s\".", creation_verb(creation), i->path); + log_debug("%s symlink \"%s\".", creation_mode_verb_to_string(creation), i->path); break; @@ -1157,7 +1155,7 @@ static int create_item(Item *i) { } else creation = CREATION_NORMAL; log_debug("%s %s device node \"%s\" %u:%u.", - creation_verb(creation), + creation_mode_verb_to_string(creation), i->type == CREATE_BLOCK_DEVICE ? "block" : "char", i->path, major(i->mode), minor(i->mode));