From bf0d723076f9be776723b4fe20f9e9a80938f204 Mon Sep 17 00:00:00 2001 From: pk910 Date: Sat, 20 Aug 2011 08:14:47 +0200 Subject: [PATCH] fixed last commit --- ChanUser.h | 5 ----- DBHelper.c | 6 ++++-- DBHelper.h | 7 +++++++ IRCParser.c | 4 ++-- bot_NeonServ.c | 1 + cmd_neonserv_deluser.c | 5 +---- lang.c | 4 ++-- 7 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ChanUser.h b/ChanUser.h index d803ada..ad074d4 100644 --- a/ChanUser.h +++ b/ChanUser.h @@ -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; diff --git a/DBHelper.c b/DBHelper.c index eb89536..ce43cc0 100644 --- a/DBHelper.c +++ b/DBHelper.c @@ -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]); } } diff --git a/DBHelper.h b/DBHelper.h index a618541..e1ad2e7 100644 --- a/DBHelper.h +++ b/DBHelper.h @@ -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); diff --git a/IRCParser.c b/IRCParser.c index 72e6dc3..ccfc67a 100644 --- a/IRCParser.c +++ b/IRCParser.c @@ -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; diff --git a/bot_NeonServ.c b/bot_NeonServ.c index 8daa678..a89be71 100644 --- a/bot_NeonServ.c +++ b/bot_NeonServ.c @@ -11,6 +11,7 @@ #include "lang.h" #include "HandleInfoHandler.h" #include "WHOHandler.h" +#include "DBHelper.h" #define BOTID 1 diff --git a/cmd_neonserv_deluser.c b/cmd_neonserv_deluser.c index acd2717..79e76ea 100644 --- a/cmd_neonserv_deluser.c +++ b/cmd_neonserv_deluser.c @@ -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 4c9f877..f10292d 100644 --- 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; -- 2.20.1