fixed coding fails in the last 2 commits
authorpk910 <philipp@zoelle1.de>
Mon, 15 Jul 2013 17:52:42 +0000 (19:52 +0200)
committerpk910 <philipp@zoelle1.de>
Mon, 15 Jul 2013 18:01:35 +0000 (20:01 +0200)
src/chanserv.c
src/nickserv.c
src/opserv.c
src/opserv.h

index 771b6169f462c676c2ae0d1dd3fed6408c001c00..37d6531e5485dddb19db96586324777941a140fb 100644 (file)
@@ -3287,7 +3287,7 @@ static CHANSERV_FUNC(cmd_opme)
         return 0;
     }
 
-    if(devnull_user_has_priv(user->handle_info, DEVNULL_MODE_OPME))
+    if(devnull_user_has_priv(user->handle_info, DEVNULL_PRIV_OPME))
     {
         change.args[0].mode = MODE_CHANOP;
         errmsg = "CSMSG_ALREADY_OPPED";
index d0caa9008f8f8825164dfbfc2bc9de1ac153aea1..089cc935daab316d7c9e22647c75e6f367205617 100644 (file)
@@ -2651,7 +2651,6 @@ static OPTION_FUNC(opt_info)
 static OPTION_FUNC(opt_devnull)
 {
     const char *devnull_name;
-    int *devnull_id;
     struct devnull_class *devnull_c;
 
     if (argc > 1) {
@@ -2665,7 +2664,7 @@ static OPTION_FUNC(opt_devnull)
             devnull_name = unsplit_string(argv+1, argc-1, NULL);
             devnull_c = devnull_find_name(devnull_name);
             if(devnull_c)
-                hi->devnull_id = devnull_c->devnull_id;
+                hi->devnull_id = devnull_c->id;
         }
     }
 
index c4844b7604a67c8b53cd0767445bb72a1d3db4c2..69a21fc9d87dc8cf7b75542e418e5495638b8786 100644 (file)
@@ -2848,7 +2848,7 @@ static int
 devnull_class_read(const char *name, void *data, UNUSED_ARG(void *extra))
 {
     struct record_data *rd = data;
-    const char *nameb = name, *str;
+    const char *str;
     unsigned long modes, maxchan, maxsendq;
     unsigned int id, ii;
 
@@ -4745,28 +4745,26 @@ struct devnull_class *devnull_find_name(const char *name) {
 
 int devnull_user_has_priv(struct handle_info *hi, int devnull_priv) {
     if(devnull_check_priv_func) {
-        int ext_privs = ((struct devnull_class (*)(struct handle_info *))devnull_check_priv_func)(hi, devnull_priv);
-        if((ext_privs & devnull_priv))
-            return (ext_privs & devnull_priv);
+        struct devnull_class ext_class = ((struct devnull_class (*)(struct handle_info *))devnull_check_priv_func)(hi);
+        if((ext_class.modes & devnull_priv))
+            return (ext_class.modes & devnull_priv);
     }
     
-    if(!hi->devnull)
+    if(!hi->devnull_id)
         return 0;
-    struct devnull_class *th;
-    if(!(th = dict_find(opserv_devnull_classes, hi->devnull, NULL)))
+    struct devnull_class *th = devnull_find_id(hi->devnull_id);
+    if(!th)
         return 0;
-    
     return (th->modes & devnull_priv);
 }
 
 struct devnull_class devnull_user_get_class(struct handle_info *hi) {
     struct devnull_class th;
-    th.name = NULL;
-    th.modes = 0;
+    memset(&th, 0, sizeof(th));
     
-    if(hi->devnull) {
+    if(hi->devnull_id) {
         struct devnull_class *thp;
-        if((thp = dict_find(opserv_devnull_classes, hi->devnull, NULL))) {
+        if((thp = devnull_find_id(hi->devnull_id))) {
             if(DEVNULL_HAS_PRIV(thp, CHANLIMIT) && (!DEVNULL_HAS_PRIV(&th, CHANLIMIT) || th.maxchan < thp->maxchan))
                 th.maxchan = thp->maxchan;
             if(DEVNULL_HAS_PRIV(thp, MAXSENDQ) && (!DEVNULL_HAS_PRIV(&th, MAXSENDQ) || th.maxsendq < thp->maxsendq))
index 01209bc9d14099058f8d51bd7e09bdc0e7514835..169f43218b4df1ad1e34265c3bf2e135d72ee0ac 100644 (file)
@@ -40,9 +40,9 @@
 
 #define DEVNULL_MODES               "abcdefghijklmno"
 
-#define DEVNULL_HAS_PRIV(cl, tok) ((cl)->modes & DEVNULL_##tok)
-#define DEVNULL_SET_PRIV(cl, tok) ((cl)->modes |= DEVNULL_##tok)
-#define DEVNULL_CLEAR_PRIV(cl, tok) ((cl)->modes &= ~DEVNULL_##tok)
+#define DEVNULL_HAS_PRIV(cl, tok) ((cl)->modes & DEVNULL_PRIV_##tok)
+#define DEVNULL_SET_PRIV(cl, tok) ((cl)->modes |= DEVNULL_PRIV_##tok)
+#define DEVNULL_CLEAR_PRIV(cl, tok) ((cl)->modes &= ~DEVNULL_PRIV_##tok)
 
 struct devnull_class {
     unsigned int id;
@@ -60,7 +60,7 @@ int opserv_bad_channel(const char *name);
 int devnull_user_has_priv(struct handle_info *hi, int devnull_priv);
 struct devnull_class devnull_user_get_class(struct handle_info *hi);
 struct devnull_class *devnull_find_id(unsigned int id);
-struct devnull_class *devnull_find_name(char *name);
+struct devnull_class *devnull_find_name(const char *name);
 struct userNode* GetOpServ(void);
 void operpart(struct chanNode *chan, struct userNode *user);
 void operadd(struct userNode *user);