summaryrefslogtreecommitdiff
path: root/src/map/pc_groups.c
diff options
context:
space:
mode:
authorjaBote <j@bot.e>2013-05-03 01:45:50 +0200
committerjaBote <j@bot.e>2013-05-03 01:45:50 +0200
commit1e5e8f5f42abb2cd42ad7ecf8e07439b8a1c570b (patch)
treec8825cc2dc141d91fe1fcc52739a0e79a89c80e9 /src/map/pc_groups.c
parentf41dea469a52213acfde4f4ea5e8d7bbbd869bed (diff)
parent274bfc3b06616ea03c467d8eed23fae61c72fe18 (diff)
downloadhercules-1e5e8f5f42abb2cd42ad7ecf8e07439b8a1c570b.tar.gz
hercules-1e5e8f5f42abb2cd42ad7ecf8e07439b8a1c570b.tar.bz2
hercules-1e5e8f5f42abb2cd42ad7ecf8e07439b8a1c570b.tar.xz
hercules-1e5e8f5f42abb2cd42ad7ecf8e07439b8a1c570b.zip
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/pc_groups.c')
-rw-r--r--src/map/pc_groups.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/pc_groups.c b/src/map/pc_groups.c
index 2fd143b53..42a068693 100644
--- a/src/map/pc_groups.c
+++ b/src/map/pc_groups.c
@@ -14,7 +14,6 @@
#include "pc_groups.h"
#include "pc.h" // e_pc_permission
-
typedef struct GroupSettings GroupSettings;
// Cached config settings/pointers for quick lookup
@@ -278,16 +277,18 @@ static void read_config(void) {
if( ( pc_group_max = group_count ) ) {
DBIterator *iter = db_iterator(pc_group_db);
GroupSettings *group_settings = NULL;
- int* group_ids = aMalloc( pc_group_max * sizeof(int) );
+ unsigned int* group_ids = aMalloc( pc_group_max * sizeof(unsigned int) );
int i = 0;
for (group_settings = dbi_first(iter); dbi_exists(iter); group_settings = dbi_next(iter)) {
group_ids[i++] = group_settings->id;
}
- atcommand->load_groups(group_ids);
-
- aFree(group_ids);
+ if( atcommand->group_ids )
+ aFree(atcommand->group_ids);
+ atcommand->group_ids = group_ids;
+ atcommand->load_groups();
+
dbi_destroy(iter);
}