X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=git_acl.c;h=9c39ec2c08f62742e1cd8edace873b6591159235;hb=a7583cb636fc0f4265df9173a1fb21ce6839024a;hp=6036166e598716d1a9e7cebf0e5ce1011a3db789;hpb=8a87e919d822c1f28323ecd64f4f0e7119e1a1c1;p=repo_shell.git diff --git a/git_acl.c b/git_acl.c index 6036166..9c39ec2 100644 --- a/git_acl.c +++ b/git_acl.c @@ -37,9 +37,7 @@ typedef struct { perms_t perms; } acl_t; -const char* perm_str[PERMS_COUNT] = { - "NOTFOUND", "NONE", "READ", "READ_WRITE" -}; +const char* perms_str[PERMS_COUNT] = { "", "", "r", "rw" }; const char* lm_none = ""; static char *lm_repoid = NULL; @@ -76,7 +74,7 @@ static const char *perms_as_str(perms_t p) { if (p < PERMS_NOTFOUND || p >= PERMS_COUNT) die("perms_as_str: invalid perm %u", p); - return perm_str[p]; + return perms_str[p]; } static perms_t perms_from_str(const char *str) @@ -85,11 +83,11 @@ static perms_t perms_from_str(const char *str) if (!str) return PERMS_NOTFOUND; - else if (!*str) + else if (!strcmp(str, perms_str[PERMS_NONE])) return PERMS_NONE; - else if (!strcmp(str, "r")) + else if (!strcmp(str, perms_str[PERMS_READ])) return PERMS_READ; - else if (!strcmp(str, "rw")) + else if (!strcmp(str, perms_str[PERMS_READ_WRITE])) return PERMS_READ_WRITE; else die("Invalid perms value '%s'", str);