fixed last commit
authorpk910 <philipp@zoelle1.de>
Sat, 20 Aug 2011 06:14:47 +0000 (08:14 +0200)
committerpk910 <philipp@zoelle1.de>
Sat, 20 Aug 2011 06:23:20 +0000 (08:23 +0200)
ChanUser.h
DBHelper.c
DBHelper.h
IRCParser.c
bot_NeonServ.c
cmd_neonserv_deluser.c
lang.c

index d803adab8a212f3859ae0b116cbd1becbc05f273..ad074d47e87dd2ee2f46db10a7687ba327c85490 100644 (file)
@@ -4,11 +4,6 @@
 #define CHANUSERFLAG_OPPED  0x01
 #define CHANUSERFLAG_VOICED 0x02
 
-
-#define DB_CHANUSER_SUSPENDED = 0x01
-#define DB_CHANUSER_AUTOINVITE = 0x02
-#define DB_CHANUSER_NOAUTOOP = 0x04
-
 #define CHANUSERFLAG_OPPED_OR_VOICED (CHANUSERFLAG_OPPED | CHANUSERFLAG_VOICED)
 
 struct ChanNode;
index eb8953691d5225904fbe898a3bb73ed087fe12ff..ce43cc025699f779d03c8c09b967afe0b61b94ad 100644 (file)
@@ -47,7 +47,8 @@ int getChannelAccess(struct UserNode *user, struct ChanNode *chan, int override)
         //
         res = mysql_use();
         if ((row = mysql_fetch_row(res)) != NULL) {
-            if(!(atoi(row[1]) & DB_CHANUSER_SUSPENDED) && atoi(row[0]) > caccess)
+            int cflags = atoi(row[1]);
+            if(!(cflags & DB_CHANUSER_SUSPENDED) && atoi(row[0]) > caccess)
                 caccess = atoi(row[0]);
         }
         return caccess;
@@ -73,7 +74,8 @@ int checkChannelAccess(struct UserNode *user, struct ChanNode *chan, char *chann
         printf_mysql_query("SELECT `chanuser_access`, `chanuser_flags` FROM `chanusers` WHERE `chanuser_uid` = '%s' AND `chanuser_cid` = '%d'", row[0], chan->channel_id);
         res = mysql_use();
         if ((row = mysql_fetch_row(res)) != NULL) {
-            if(!(atoi(row[1]) & DB_CHANUSER_SUSPENDED))
+            int cflags = atoi(row[1]);
+            if(!(cflags & DB_CHANUSER_SUSPENDED))
                 caccess = atoi(row[0]);
         }
     }
index a61854119343bf43ae504fec49ace0846391bec0..e1ad2e79ee28aaebe8c7a95b0314d16fd5c11e0a 100644 (file)
@@ -3,6 +3,13 @@
 
 #include "main.h"
 
+#define DB_CHANUSER_SUSPENDED 0x01
+#define DB_CHANUSER_AUTOINVITE 0x02
+#define DB_CHANUSER_NOAUTOOP 0x04
+
+struct ChanNode;
+struct UserNode;
+
 void _loadUserSettings(struct UserNode* user);
 #define loadUserSettings(USER) if((USER->flags & USERFLAG_ISAUTHED) && !(USER->flags & USERFLAG_LOADED_SETTINGS)) _loadUserSettings(USER)
 int isGodMode(struct UserNode *user);
index 72e6dc3d6342d0fe49b9da7e0a79a7f4a3645f7a..ccfc67af8fb9f1ffbd9821e898c6250a8f32e59e 100644 (file)
@@ -7,6 +7,7 @@
 #include "ClientSocket.h"
 #include "WHOHandler.h"
 #include "lang.h"
+#include "DBHelper.h"
 
 struct irc_cmd *irc_commands = NULL;
 
@@ -372,8 +373,7 @@ void reply(struct ClientSocket *client, struct UserNode *user, const char *text,
     const char *reply_format = get_language_string(user, text);
     if(reply_format == NULL)
         reply_format = text;
-    if((user->flags & USERFLAG_ISAUTHED) && !(user->flags & USERFLAG_LOADED_SETTINGS))
-        load_user_settings(user);
+    loadUserSettings(user);
     char formatBuf[MAXLEN];
     sprintf(formatBuf, "%s %s :%s", ((user->flags & USERFLAG_REPLY_PRIVMSG) ? "PRIVMSG" : "NOTICE"), user->nick, reply_format);
     va_list arg_list;
index 8daa67815b17c87259e48c7c5fab6ee1c2c4d52a..a89be7139a1d409ed38da8760a91b975555d93b1 100644 (file)
@@ -11,6 +11,7 @@
 #include "lang.h"
 #include "HandleInfoHandler.h"
 #include "WHOHandler.h"
+#include "DBHelper.h"
 
 #define BOTID 1
 
index acd271790c407f2f5a7707eda83fc08e0e34e869..79e76eac334b1a6d4d29e75b65ccf147b60ea788 100644 (file)
@@ -13,9 +13,6 @@ struct neonserv_cmd_deluser_cache {
 };
 
 static CMD_BIND(neonserv_cmd_deluser) {
-    int caccess;
-    MYSQL_RES *res;
-    MYSQL_ROW row;
     check_mysql();
     checkChannelAccess(user, chan, "channel_candel", 1, 0);
     if(argv[0][0] == '*') {
@@ -76,7 +73,7 @@ static void neonserv_cmd_deluser_async1(struct ClientSocket *client, struct Clie
         res = mysql_use();
         if ((row = mysql_fetch_row(res)) != NULL) {
             if(atoi(row[0]) >= getChannelAccess(user, chan, 1)) {
-                reply(textclient, cache->user, "NS_USER_OUTRANKED", nick);
+                reply(textclient, user, "NS_USER_OUTRANKED", nick);
                 return;
             }
             //delete
diff --git a/lang.c b/lang.c
index 4c9f877b252ec960ace9aeb8fb247ba050c8cc62..f10292dd462cc041276fc80c93aa5e0020345859 100644 (file)
--- a/lang.c
+++ b/lang.c
@@ -1,5 +1,6 @@
 #include "lang.h"
 #include "UserNode.h"
+#include "DBHelper.h"
 
 #define DEFAULT_LANG_TAG "EN"
 #define DEFAULT_LANG_NAME "English"
@@ -90,8 +91,7 @@ void register_default_language_table(const struct default_language_entry *msgtab
 char *get_language_string(struct UserNode *user, const char* msg_ident) {
     struct language* lang;
     if((user->flags & USERFLAG_ISAUTHED)) {
-        if(!(user->flags & USERFLAG_LOADED_SETTINGS))
-            load_user_settings(user);
+        loadUserSettings(user);
         lang = user->language;
     } else
         lang = lang_c;