]> oss.titaniummirror.com Git - repo_shell.git/commitdiff
Emit perms in same form as used in .gitacls
authorR. Steve McKown <rsmckown@gmail.com>
Fri, 28 Sep 2012 18:35:44 +0000 (12:35 -0600)
committerR. Steve McKown <rsmckown@gmail.com>
Fri, 28 Sep 2012 19:15:57 +0000 (13:15 -0600)
git_acl.c
repo_shell.c

index 6036166e598716d1a9e7cebf0e5ce1011a3db789..9c39ec2c08f62742e1cd8edace873b6591159235 100644 (file)
--- 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 = "<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);
index f5ec2680fdcf9e2f408a860cfc5eddff30a0365a..bb61824b64f8c312349ad0c76695d05cf3368f83 100644 (file)
@@ -204,7 +204,7 @@ int main(int argc, char **argv)
     perms_t p;
 
     if (argc !=4)
-      die("usage: %s -t <user> <repo>", argv[0]);
+      die("usage: %s -t|--test <user> <repo>", argv[0]);
     p = git_acl(argv[2], argv[3], cfg.git_acl_file);
     fprintf(stderr,
         "user '%s' repo '%s' perms '%s'\n  via userid '%s' repoid '%s'\n",