fixed another NULL pointer crash in the same function (see previous commit)
[srvx.git] / src / mod-hostserv.c
index 56ef7454225b69f830a7e323f8e5177b01c75ab8..3643fceda0b7af91870a33128d41f3ef1a17997f 100644 (file)
  *     "hostserv" {
  *         "nick" "HostServ";
  *         "modes" "+iok";
-           "toplevel_access" "600";
+ *         "toplevel_access" "600";
+ *         "fallback_other_assignment" "1"; //fall back to another assignment when active assignment gets removed
+ *         "manager_can_del_toplevel" "0"; //managers of a toplevel group may delete the whole group
+ *         "manager_can_del_secondlevel" "0"; //managers of a secondlevel group may delete the whole group
  *     };
  *  };
  *
@@ -339,7 +342,7 @@ static void hs_activate_assignment(struct hs_user *user, struct hs_assignment *a
     assert((!assignment || (assignment->user == user)));
     
     if(user->assignments) {
-        for(assgn = assignment->user->assignments; assgn; assgn = assgn->unext)
+        for(assgn = user->assignments; assgn; assgn = assgn->unext)
             assgn->active = 0;
     }
     
@@ -356,7 +359,7 @@ static void hs_activate_assignment(struct hs_user *user, struct hs_assignment *a
         assignment->active = 1;
     }
     
-    apply_fakehost(assignment->user->hi, NULL);
+    apply_fakehost(user->hi, NULL);
 }
 
 static struct hs_assignment *hs_add_assignment(struct hs_secondlevel *slfh, struct hs_user *user) {