X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fcmd_neonserv_chanservsync.c;h=8581cb24be1155084a5da2bce450b2eed99f3059;hb=f90d21daf31f8d69e24406678be696afa8cae962;hp=56033004df836e5fc5e80b1a7b284b8952022d05;hpb=0f1dc61921eef1db8e404a5a82372e2d1cd55daa;p=NeonServV5.git diff --git a/src/cmd_neonserv_chanservsync.c b/src/cmd_neonserv_chanservsync.c index 5603300..8581cb2 100644 --- a/src/cmd_neonserv_chanservsync.c +++ b/src/cmd_neonserv_chanservsync.c @@ -1,3 +1,19 @@ +/* cmd_neonserv_chanservsync.c - NeonServ v5.3 + * Copyright (C) 2011-2012 Philipp Kreil (pk910) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "cmd_neonserv.h" @@ -114,7 +130,7 @@ static void neonserv_cmd_chanservsync_notice_listener(struct UserNode *user, str *q = '\0'; do { q++; - } while(*q == ' '); + } while(*q == ' ' || *q == '-'); if(*p) { tokens[tokensPos++] = p; } @@ -136,8 +152,13 @@ static void neonserv_cmd_chanservsync_notice_listener(struct UserNode *user, str } else return; } else if(tokensPos >= 2) { - caccess = atoi(tokens[0]); - username = tokens[1]; + if(atoi(tokens[0]) > 0) { + caccess = atoi(tokens[0]); + username = tokens[1]; + } else { + caccess = atoi(tokens[1]); + username = tokens[0]; + } } else return; if(caccess < 1 || caccess > 500) return; @@ -187,7 +208,7 @@ static void neonserv_cmd_chanservsync_notice_listener(struct UserNode *user, str neonserv_cmd_chanservsync_synchronize_user(neonserv_cmd_chanservsync_used->client, neonserv_cmd_chanservsync_used->textclient, neonserv_cmd_chanservsync_used->user, neonserv_cmd_chanservsync_used->chan, username, userid, caccess, seen_time, flags, 0); } else if(!stricmp(user->nick, "chanserv")) { printf_mysql_query("INSERT INTO `users` (`user_user`) VALUES ('%s')", escape_string(username)); - userid = (int) mysql_insert_id(mysql_conn); + userid = (int) mysql_insert_id(get_mysql_conn()); neonserv_cmd_chanservsync_synchronize_user(neonserv_cmd_chanservsync_used->client, neonserv_cmd_chanservsync_used->textclient, neonserv_cmd_chanservsync_used->user, neonserv_cmd_chanservsync_used->chan, username, userid, caccess, seen_time, flags, 1); } else { //lookup auth @@ -219,7 +240,7 @@ static AUTHLOOKUP_CALLBACK(neonserv_cmd_chanservsync_auth_lookup) { struct neonserv_cmd_chanservsync_auth_cache *cache = data; if(exists) { printf_mysql_query("INSERT INTO `users` (`user_user`) VALUES ('%s')", escape_string(auth)); - int userid = (int) mysql_insert_id(mysql_conn); + int userid = (int) mysql_insert_id(get_mysql_conn()); neonserv_cmd_chanservsync_synchronize_user(cache->client, cache->textclient, cache->user, cache->chan, auth, userid, cache->caccess, cache->seen, cache->flags, 1); } free(cache);