]> andersk Git - moira.git/blobdiff - incremental/afs.c
This includes Ted's unchecked-in changes from two years ago, as well
[moira.git] / incremental / afs.c
index 92bbcb8a9f8c7c2331429452dbf18cce97605acc..fcdcd78a2dcab120489269403937ace8cf13b25a 100644 (file)
@@ -332,6 +332,15 @@ int afterc;
 }
 
 
+    
+#define LM_EXTRA_ACTIVE          (LM_END)
+#define LM_EXTRA_PUBLIC   (LM_END+1)
+#define LM_EXTRA_HIDDEN   (LM_END+2)
+#define LM_EXTRA_MAILLIST (LM_END+3)
+#define LM_EXTRA_GROUP    (LM_END+4)
+#define LM_EXTRA_GID      (LM_END+5)
+#define LM_EXTRA_END      (LM_END+6)
+
 do_member(before, beforec, after, afterc)
 char **before;
 int beforec;
@@ -340,15 +349,23 @@ int afterc;
 {
     int code;
     char *p;
-    
-    if ((beforec < 4 || !atoi(before[LM_END])) &&
-       (afterc < 4 || !atoi(after[LM_END])))
-       return;
 
-    if (afterc)
-       edit_group(1, after[LM_LIST], after[LM_TYPE], after[LM_MEMBER]);
-    if (beforec)
+    if (afterc) {
+       if (afterc < LM_EXTRA_END) {
+           return;
+       } else
+         if (!atoi(after[LM_EXTRA_ACTIVE]) || !atoi(after[LM_EXTRA_GROUP]))
+           return;
+       
+       edit_group(1, after[LM_LIST], after[LM_TYPE], after[LM_MEMBER]);
+    } else if (beforec) {
+       if (beforec < LM_EXTRA_END) {
+           return;
+       } else
+         if (!atoi(before[LM_EXTRA_ACTIVE]) || !atoi(before[LM_EXTRA_GROUP]))
+           return;
        edit_group(0, before[LM_LIST], before[LM_TYPE], before[LM_MEMBER]);
+    }
 }
 
 
This page took 0.03097 seconds and 4 git commands to generate.