Fixe compile time problems with our mixed C++/C conformance

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1328 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
amber 2005-03-29 06:18:21 +00:00
parent 150683e2e6
commit dfd7258882
19 changed files with 108 additions and 103 deletions

View File

@ -1,6 +1,8 @@
Date Added Date Added
03/29 03/29
* Fixed a lot of compile time problems with our mixed C++/C
conformance [1328: MouseJstr]
* Fixed use of storage variable to conform to ANSI C spec * Fixed use of storage variable to conform to ANSI C spec
[1327: MouseJstr] [1327: MouseJstr]
* Added CIA-bot to the #athena channel [MouseJstr] * Added CIA-bot to the #athena channel [MouseJstr]

View File

@ -67,6 +67,7 @@ char party_db[256] = "party";
char pet_db[256] = "pet"; char pet_db[256] = "pet";
char login_db[256] = "login"; char login_db[256] = "login";
char friend_db[256] = "friends"; char friend_db[256] = "friends";
int db_use_sqldbs;
char login_db_account_id[32] = "account_id"; char login_db_account_id[32] = "account_id";
char login_db_level[32] = "level"; char login_db_level[32] = "level";
@ -3138,7 +3139,7 @@ int char_lan_config_read(const char *lancfgName){
static int char_db_final(void *key,void *data,va_list ap) static int char_db_final(void *key,void *data,va_list ap)
{ {
struct mmo_charstatus *p = data; struct mmo_charstatus *p = (struct mmo_charstatus *) data;
if (p) aFree(p); if (p) aFree(p);
return 0; return 0;
} }
@ -3280,8 +3281,8 @@ int char_config_read(const char *cfgName) {
if (sscanf(line,"%[^:]: %[^\r\n]", w1, w2) != 2) if (sscanf(line,"%[^:]: %[^\r\n]", w1, w2) != 2)
continue; continue;
remove_control_chars(w1); remove_control_chars((unsigned char *) w1);
remove_control_chars(w2); remove_control_chars((unsigned char *) w2);
if (strcmpi(w1, "userid") == 0) { if (strcmpi(w1, "userid") == 0) {
memcpy(userid, w2, 24); memcpy(userid, w2, 24);
} else if (strcmpi(w1, "passwd") == 0) { } else if (strcmpi(w1, "passwd") == 0) {

View File

@ -71,7 +71,7 @@ extern char guild_storage_db[256];
extern char party_db[256]; extern char party_db[256];
extern char pet_db[256]; extern char pet_db[256];
int db_use_sqldbs; // added for sql item_db read for char server [Valaris] extern int db_use_sqldbs; // added for sql item_db read for char server [Valaris]
extern char login_db_level[32]; extern char login_db_level[32];
extern char login_db_account_id[32]; extern char login_db_account_id[32];

View File

@ -532,7 +532,7 @@ int inter_guildcastle_tosql(struct guild_castle *gc)
return 0; return 0;
} }
//printf("[Guild Castle %02i]: Save...\n",gc->castle_id); //printf("[Guild Castle %02i]: Save...\n",gc->castle_id);
gcopy = numdb_search(castle_db_,gc->castle_id); gcopy = (struct guild_castle *) numdb_search(castle_db_,gc->castle_id);
if (gcopy == NULL) { if (gcopy == NULL) {
gcopy = (struct guild_castle *) aMalloc(sizeof(struct guild_castle)); gcopy = (struct guild_castle *) aMalloc(sizeof(struct guild_castle));
numdb_insert(castle_db_, gc->castle_id, gcopy); numdb_insert(castle_db_, gc->castle_id, gcopy);
@ -714,13 +714,13 @@ int guild_infoevent_db_final (void *k, void *data, va_list ap) { return 0; }
int guild_castleinfoevent_db_final (void *k, void *data, va_list ap) { return 0; } int guild_castleinfoevent_db_final (void *k, void *data, va_list ap) { return 0; }
int guild_db_final (void *k, void *data, va_list ap) int guild_db_final (void *k, void *data, va_list ap)
{ {
struct guild *g = data; struct guild *g = (struct guild *) data;
if (g) aFree(g); if (g) aFree(g);
return 0; return 0;
} }
int castle_db_final (void *k, void *data, va_list ap) int castle_db_final (void *k, void *data, va_list ap)
{ {
struct guild_castle *gc = data; struct guild_castle *gc = (struct guild_castle *) data;
if (gc) aFree(gc); if (gc) aFree(gc);
return 0; return 0;
} }

View File

@ -300,7 +300,7 @@ int inter_init(const char *file)
// finalize // finalize
int wis_db_final (void *k, void *data, va_list ap) { int wis_db_final (void *k, void *data, va_list ap) {
struct WisData *p = data; struct WisData *p = (struct WisData *) data;
if (p) aFree(p); if (p) aFree(p);
return 0; return 0;
} }

View File

@ -18,6 +18,11 @@ struct dbn {
struct dbn *prev; struct dbn *prev;
}; };
struct db_free {
struct dbn *z;
struct dbn **root;
};
struct dbt { struct dbt {
int (*cmp)(struct dbt*,void*,void*); int (*cmp)(struct dbt*,void*,void*);
unsigned int (*hash)(struct dbt*,void*); unsigned int (*hash)(struct dbt*,void*);
@ -30,10 +35,7 @@ struct dbt {
int alloc_line; // DB?s int alloc_line; // DB?s
// db_foreach 内部でdb_erase される対策として、 // db_foreach 内部でdb_erase される対策として、
// db_foreach が終わるまでロックすることにする // db_foreach が終わるまでロックすることにする
struct db_free { struct db_free *free_list;
struct dbn *z;
struct dbn **root;
} *free_list;
int free_count; int free_count;
int free_max; int free_max;
int free_lock; int free_lock;

View File

@ -65,15 +65,15 @@ void* aRealloc_( void *p, size_t size, const char *file, int line, const char *f
return ret; return ret;
} }
void* aStrdup_( const void *p, const char *file, int line, const char *func ) char* aStrdup_( const void *p, const char *file, int line, const char *func )
{ {
void *ret; char *ret;
// printf("%s:%d: in func %s: strdup %p\n",file,line,func,p); // printf("%s:%d: in func %s: strdup %p\n",file,line,func,p);
#ifdef MEMWATCH #ifdef MEMWATCH
ret=mwStrdup(p,file,line); ret=mwStrdup(p,file,line);
#else #else
ret=strdup(p); ret= strdup((char *) p);
#endif #endif
if(ret==NULL){ if(ret==NULL){
printf("%s:%d: in func %s: strdup error out of memory!\n",file,line,func); printf("%s:%d: in func %s: strdup error out of memory!\n",file,line,func);

View File

@ -63,7 +63,7 @@
void* aCalloc_( size_t num, size_t size, const char *file, int line, const char *func ); void* aCalloc_( size_t num, size_t size, const char *file, int line, const char *func );
void* aRealloc_( void *p, size_t size, const char *file, int line, const char *func ); void* aRealloc_( void *p, size_t size, const char *file, int line, const char *func );
void aFree_( void *p, const char *file, int line, const char *func ); void aFree_( void *p, const char *file, int line, const char *func );
void* aStrdup_( const void *p, const char *file, int line, const char *func ); char* aStrdup_( const void *p, const char *file, int line, const char *func );
# define aMalloc(n) aMalloc_(n,ALC_MARK) # define aMalloc(n) aMalloc_(n,ALC_MARK)
# define aMallocA(n) aMalloc_(n,ALC_MARK) # define aMallocA(n) aMalloc_(n,ALC_MARK)

View File

@ -678,7 +678,7 @@ static int connect_check_(unsigned int ip) {
hist = hist->next; hist = hist->next;
} }
// IPリストに無いので新規作成 // IPリストに無いので新規作成
hist_new = aCalloc(1,sizeof(struct _connect_history)); hist_new = (struct _connect_history *) aCalloc(1,sizeof(struct _connect_history));
hist_new->ip = ip; hist_new->ip = ip;
hist_new->tick = gettick(); hist_new->tick = gettick();
if(connect_history[ip & 0xFFFF] != NULL) { if(connect_history[ip & 0xFFFF] != NULL) {
@ -791,12 +791,12 @@ int socket_config_read(const char *cfgName) {
if(strcmpi(w2,"allow,deny")==0) access_order=ACO_ALLOW_DENY; if(strcmpi(w2,"allow,deny")==0) access_order=ACO_ALLOW_DENY;
if(strcmpi(w2,"mutual-failure")==0) access_order=ACO_MUTUAL_FAILTURE; if(strcmpi(w2,"mutual-failure")==0) access_order=ACO_MUTUAL_FAILTURE;
} else if(strcmpi(w1,"allow")==0){ } else if(strcmpi(w1,"allow")==0){
access_allow = aRealloc(access_allow,(access_allownum+1)*sizeof(struct _access_control)); access_allow = (struct _access_control *) aRealloc(access_allow,(access_allownum+1)*sizeof(struct _access_control));
if(access_ipmask(w2,&access_allow[access_allownum])) { if(access_ipmask(w2,&access_allow[access_allownum])) {
access_allownum++; access_allownum++;
} }
} else if(strcmpi(w1,"deny")==0){ } else if(strcmpi(w1,"deny")==0){
access_deny = aRealloc(access_deny,(access_denynum+1)*sizeof(struct _access_control)); access_deny = (struct _access_control *) aRealloc(access_deny,(access_denynum+1)*sizeof(struct _access_control));
if(access_ipmask(w2,&access_deny[access_denynum])) { if(access_ipmask(w2,&access_deny[access_denynum])) {
access_denynum++; access_denynum++;
} }

View File

@ -54,9 +54,9 @@ int add_timer_func_list(int (*func)(int,unsigned int,int,int), char* name) {
struct timer_func_list* tfl; struct timer_func_list* tfl;
//CALLOC(tfl, struct timer_func_list, 1); //CALLOC(tfl, struct timer_func_list, 1);
tfl = aCalloc( sizeof(struct timer_func_list) , 1); tfl = (struct timer_func_list*) aCalloc( sizeof(struct timer_func_list) , 1);
//MALLOC(tfl->name, char, strlen(name) + 1); //MALLOC(tfl->name, char, strlen(name) + 1);
tfl->name = aMalloc( strlen(name) + 1 ); tfl->name = (char *) aMalloc( strlen(name) + 1 );
tfl->next = tfl_root; tfl->next = tfl_root;
tfl->func = func; tfl->func = func;
@ -112,11 +112,11 @@ static void push_timer_heap(int index) {
if (timer_heap_max == 0) { if (timer_heap_max == 0) {
timer_heap_max = 256; timer_heap_max = 256;
//CALLOC(timer_heap, int, 256); //CALLOC(timer_heap, int, 256);
timer_heap = aCalloc( sizeof(int) , 256); timer_heap = (int *) aCalloc( sizeof(int) , 256);
} else { } else {
timer_heap_max += 256; timer_heap_max += 256;
//REALLOC(timer_heap, int, timer_heap_max); //REALLOC(timer_heap, int, timer_heap_max);
timer_heap = aRealloc( timer_heap, sizeof(int) * timer_heap_max); timer_heap = (int *) aRealloc( timer_heap, sizeof(int) * timer_heap_max);
memset(timer_heap + (timer_heap_max - 256), 0, sizeof(int) * 256); memset(timer_heap + (timer_heap_max - 256), 0, sizeof(int) * 256);
} }
} }
@ -178,11 +178,11 @@ int add_timer(unsigned int tick,int (*func)(int,unsigned int,int,int),int id,int
if (timer_data_max == 0) { if (timer_data_max == 0) {
timer_data_max = 256; timer_data_max = 256;
//CALLOC(timer_data, struct TimerData, timer_data_max); //CALLOC(timer_data, struct TimerData, timer_data_max);
timer_data = aCalloc( sizeof(struct TimerData) , timer_data_max); timer_data = (struct TimerData*) aCalloc( sizeof(struct TimerData) , timer_data_max);
} else { } else {
timer_data_max += 256; timer_data_max += 256;
//REALLOC(timer_data, struct TimerData, timer_data_max); //REALLOC(timer_data, struct TimerData, timer_data_max);
timer_data = aRealloc( timer_data, sizeof(struct TimerData) * timer_data_max); timer_data = (struct TimerData *) aRealloc( timer_data, sizeof(struct TimerData) * timer_data_max);
memset(timer_data + (timer_data_max - 256), 0, sizeof(struct TimerData) * 256); memset(timer_data + (timer_data_max - 256), 0, sizeof(struct TimerData) * 256);
} }
} }
@ -267,7 +267,7 @@ int do_timer(unsigned int tick) {
if (free_timer_list_pos >= free_timer_list_max) { if (free_timer_list_pos >= free_timer_list_max) {
free_timer_list_max += 256; free_timer_list_max += 256;
//REALLOC(free_timer_list, int, free_timer_list_max); //REALLOC(free_timer_list, int, free_timer_list_max);
free_timer_list = aRealloc(free_timer_list, sizeof(int) * free_timer_list_max); free_timer_list = (int *) aRealloc(free_timer_list, sizeof(int) * free_timer_list_max);
memset(free_timer_list + (free_timer_list_max - 256), 0, 256 * sizeof(int)); memset(free_timer_list + (free_timer_list_max - 256), 0, 256 * sizeof(int));
} }
free_timer_list[free_timer_list_pos++] = i; free_timer_list[free_timer_list_pos++] = i;

View File

@ -1829,7 +1829,7 @@ int flush_timer(int tid, unsigned int tick, int id, int data){
//-------------------------------------- //--------------------------------------
static int online_db_final(void *key,void *data,va_list ap) static int online_db_final(void *key,void *data,va_list ap)
{ {
int *p = data; int *p = (int *) data;
if (p) aFree(p); if (p) aFree(p);
return 0; return 0;
} }

View File

@ -4778,8 +4778,8 @@ void clif_GlobalMessage(struct block_list *bl,char *message)
WBUFW(buf,0)=cmd; WBUFW(buf,0)=cmd;
WBUFW(buf,2)=len+8; WBUFW(buf,2)=len+8;
WBUFL(buf,4)=bl->id; WBUFL(buf,4)=bl->id;
strncpy(WBUFP(buf,8),message,len); strncpy((char *) WBUFP(buf,8),message,len);
clif_send(buf,WBUFW(buf,2),bl,AREA_CHAT_WOC); clif_send((unsigned char *) buf,WBUFW(buf,2),bl,AREA_CHAT_WOC);
} }
/*========================================== /*==========================================

View File

@ -851,10 +851,10 @@ static int itemdb_read_sqldb(void)
if (sql_row[17] != NULL) if (sql_row[17] != NULL)
{ {
if (sql_row[17][0] == '{') if (sql_row[17][0] == '{')
id->use_script = parse_script(sql_row[17], 0); id->use_script = parse_script((unsigned char *) sql_row[17], 0);
else { else {
sprintf(script, "{%s}", sql_row[17]); sprintf(script, "{%s}", sql_row[17]);
id->use_script = parse_script(script, 0); id->use_script = parse_script((unsigned char *) script, 0);
} }
} }
else else
@ -865,10 +865,10 @@ static int itemdb_read_sqldb(void)
if (sql_row[18] != NULL) if (sql_row[18] != NULL)
{ {
if (sql_row[18][0] == '{') if (sql_row[18][0] == '{')
id->equip_script = parse_script(sql_row[18], 0); id->equip_script = parse_script((unsigned char *) sql_row[18], 0);
else { else {
sprintf(script, "{%s}", sql_row[18]); sprintf(script, "{%s}", sql_row[18]);
id->equip_script = parse_script(script, 0); id->equip_script = parse_script((unsigned char *) script, 0);
} }
} }
else else

View File

@ -2012,7 +2012,7 @@ int map_eraseipport(char *name,unsigned long ip,int port)
struct map_data_other_server *mdos; struct map_data_other_server *mdos;
// unsigned char *p=(unsigned char *)&ip; // unsigned char *p=(unsigned char *)&ip;
md=strdb_search(map_db,name); md=(struct map_data *) strdb_search(map_db,name);
if(md){ if(md){
if(md->gat) // local -> check data if(md->gat) // local -> check data
return 0; return 0;
@ -3119,13 +3119,13 @@ int id_db_final(void *k,void *d,va_list ap) { return 0; }
int map_db_final(void *k,void *d,va_list ap) { return 0; } int map_db_final(void *k,void *d,va_list ap) { return 0; }
int nick_db_final(void *k,void *d,va_list ap) int nick_db_final(void *k,void *d,va_list ap)
{ {
char *p = d; char *p = (char *) d;
if (p) aFree(p); if (p) aFree(p);
return 0; return 0;
} }
int charid_db_final(void *k,void *d,va_list ap) int charid_db_final(void *k,void *d,va_list ap)
{ {
struct charid2nick *p = d; struct charid2nick *p = (struct charid2nick *) d;
if (p) aFree(p); if (p) aFree(p);
return 0; return 0;
} }

View File

@ -875,7 +875,7 @@ int npc_checknear(struct map_session_data *sd,int id)
*/ */
int npc_globalmessage(const char *name,char *mes) int npc_globalmessage(const char *name,char *mes)
{ {
struct npc_data *nd=strdb_search(npcname_db,name); struct npc_data *nd=(struct npc_data *) strdb_search(npcname_db,name);
char temp[100]; char temp[100];
char ntemp[50]; char ntemp[50];
char *ltemp; char *ltemp;

View File

@ -6994,7 +6994,7 @@ int pc_read_gm_account(int fd)
} }
lsql_res = mysql_store_result(&lmysql_handle); lsql_res = mysql_store_result(&lmysql_handle);
if (lsql_res) { if (lsql_res) {
gm_account = aCallocA(sizeof(struct gm_account) * mysql_num_rows(lsql_res), 1); gm_account = (struct gm_account *) aCallocA(sizeof(struct gm_account) * mysql_num_rows(lsql_res), 1);
while ((lsql_row = mysql_fetch_row(lsql_res))) { while ((lsql_row = mysql_fetch_row(lsql_res))) {
gm_account[GM_num].account_id = atoi(lsql_row[0]); gm_account[GM_num].account_id = atoi(lsql_row[0]);
gm_account[GM_num].level = atoi(lsql_row[1]); gm_account[GM_num].level = atoi(lsql_row[1]);

View File

@ -62,7 +62,7 @@ static struct str_data_struct {
int str; int str;
int backpatch; int backpatch;
int label; int label;
int (*func)(); int (*func)(script_state *);
int val; int val;
int next; int next;
} *str_data; } *str_data;
@ -1190,7 +1190,7 @@ static void read_constdb(void)
sscanf(line,"%[A-Za-z0-9_] %d %d",name,&val,&type)>=2){ sscanf(line,"%[A-Za-z0-9_] %d %d",name,&val,&type)>=2){
for(i=0;name[i];i++) for(i=0;name[i];i++)
name[i]=tolower(name[i]); name[i]=tolower(name[i]);
n=add_str(name); n=add_str((const unsigned char *) name);
if(type==0) if(type==0)
str_data[n].type=C_INT; str_data[n].type=C_INT;
else else
@ -1281,7 +1281,7 @@ char* parse_script(unsigned char *src,int line)
add_scriptc(C_NOP); add_scriptc(C_NOP);
script_size = script_pos; script_size = script_pos;
script_buf=(char *)aRealloc(script_buf,script_pos + 1); script_buf=(unsigned char *)aRealloc(script_buf,script_pos + 1);
// 未解決のラベルを解決 // 未解決のラベルを解決
for(i=LABEL_START;i<str_num;i++){ for(i=LABEL_START;i<str_num;i++){
@ -1308,7 +1308,7 @@ char* parse_script(unsigned char *src,int line)
printf("\n"); printf("\n");
#endif #endif
return script_buf; return (char *) script_buf;
} }
// //
@ -1445,7 +1445,7 @@ static int set_reg(struct map_session_data *sd,int num,char *name,void *v)
int set_var(struct map_session_data *sd, char *name, void *val) int set_var(struct map_session_data *sd, char *name, void *val)
{ {
return set_reg(sd, add_str(name), name, val); return set_reg(sd, add_str((unsigned char *) name), name, val);
} }
/*========================================== /*==========================================
@ -1525,7 +1525,7 @@ void push_str(struct script_stack *stack,int type,unsigned char *str)
// if(battle_config.etc_log) // if(battle_config.etc_log)
// printf("push (%d,%x)-> %d\n",type,str,stack->sp); // printf("push (%d,%x)-> %d\n",type,str,stack->sp);
stack->stack_data[stack->sp].type=type; stack->stack_data[stack->sp].type=type;
stack->stack_data[stack->sp].u.str=str; stack->stack_data[stack->sp].u.str=(char *) str;
stack->sp++; stack->sp++;
} }
@ -1537,10 +1537,10 @@ void push_copy(struct script_stack *stack,int pos)
{ {
switch(stack->stack_data[pos].type){ switch(stack->stack_data[pos].type){
case C_CONSTSTR: case C_CONSTSTR:
push_str(stack,C_CONSTSTR,stack->stack_data[pos].u.str); push_str(stack,C_CONSTSTR,(unsigned char *) stack->stack_data[pos].u.str);
break; break;
case C_STR: case C_STR:
push_str(stack,C_STR,aStrdup(stack->stack_data[pos].u.str)); push_str(stack,C_STR,(unsigned char *) aStrdup(stack->stack_data[pos].u.str));
break; break;
default: default:
push_val(stack,stack->stack_data[pos].type,stack->stack_data[pos].u.num); push_val(stack,stack->stack_data[pos].type,stack->stack_data[pos].u.num);
@ -1609,7 +1609,7 @@ int buildin_callfunc(struct script_state *st)
char *scr; char *scr;
char *str=conv_str(st,& (st->stack->stack_data[st->start+2])); char *str=conv_str(st,& (st->stack->stack_data[st->start+2]));
if( (scr=strdb_search(script_get_userfunc_db(),str)) ){ if( (scr=(char *) strdb_search(script_get_userfunc_db(),str)) ){
int i,j; int i,j;
for(i=st->start+3,j=0;i<st->end;i++,j++) for(i=st->start+3,j=0;i<st->end;i++,j++)
push_copy(st->stack,i); push_copy(st->stack,i);
@ -1748,8 +1748,8 @@ int buildin_menu(struct script_state *st)
st->state=END; st->state=END;
} else { // goto動作 } else { // goto動作
// ragemu互換のため // ragemu互換のため
pc_setreg(sd,add_str("l15"),sd->npc_menu); pc_setreg(sd,add_str((unsigned char *) "l15"),sd->npc_menu);
pc_setreg(sd,add_str("@menu"),sd->npc_menu); pc_setreg(sd,add_str((unsigned char *) "@menu"),sd->npc_menu);
sd->state.menu_or_input=0; sd->state.menu_or_input=0;
if(sd->npc_menu>0 && sd->npc_menu<(st->end-st->start)/2){ if(sd->npc_menu>0 && sd->npc_menu<(st->end-st->start)/2){
int pos; int pos;
@ -1930,7 +1930,7 @@ int buildin_input(struct script_state *st)
{ {
struct map_session_data *sd=NULL; struct map_session_data *sd=NULL;
int num=(st->end>st->start+2)?st->stack->stack_data[st->start+2].u.num:0; int num=(st->end>st->start+2)?st->stack->stack_data[st->start+2].u.num:0;
char *name=(st->end>st->start+2)?str_buf+str_data[num&0x00ffffff].str:""; char *name=(char *) ((st->end>st->start+2)?str_buf+str_data[num&0x00ffffff].str:"");
// char prefix=*name; // char prefix=*name;
char postfix=name[strlen(name)-1]; char postfix=name[strlen(name)-1];
@ -1961,7 +1961,7 @@ int buildin_input(struct script_state *st)
set_reg(sd,num,name,(void*)sd->npc_amount); set_reg(sd,num,name,(void*)sd->npc_amount);
} else { } else {
// ragemu互換のため // ragemu互換のため
pc_setreg(sd,add_str("l14"),sd->npc_amount); pc_setreg(sd,add_str((unsigned char *) "l14"),sd->npc_amount);
} }
} }
} else { } else {
@ -2186,7 +2186,7 @@ int buildin_deletearray(struct script_state *st)
} }
for(;i<(128-(num>>24));i++){ for(;i<(128-(num>>24));i++){
if( postfix!='$' ) set_reg(sd,num+(i<<24),name, 0); if( postfix!='$' ) set_reg(sd,num+(i<<24),name, 0);
if( postfix=='$' ) set_reg(sd,num+(i<<24),name, ""); if( postfix=='$' ) set_reg(sd,num+(i<<24),name, (void *) "");
} }
return 0; return 0;
} }
@ -2704,9 +2704,9 @@ int buildin_getpartyname(struct script_state *st)
party_id=conv_num(st,& (st->stack->stack_data[st->start+2])); party_id=conv_num(st,& (st->stack->stack_data[st->start+2]));
name=buildin_getpartyname_sub(party_id); name=buildin_getpartyname_sub(party_id);
if(name!=0) if(name!=0)
push_str(st->stack,C_STR,name); push_str(st->stack,C_STR,(unsigned char *)name);
else else
push_str(st->stack,C_CONSTSTR,"null"); push_str(st->stack,C_CONSTSTR, (unsigned char *) "null");
return 0; return 0;
} }
@ -2726,12 +2726,12 @@ int buildin_getpartymember(struct script_state *st)
for(i=0;i<MAX_PARTY;i++){ for(i=0;i<MAX_PARTY;i++){
if(p->member[i].account_id){ if(p->member[i].account_id){
// printf("name:%s %d\n",p->member[i].name,i); // printf("name:%s %d\n",p->member[i].name,i);
mapreg_setregstr(add_str("$@partymembername$")+(i<<24),p->member[i].name); mapreg_setregstr(add_str((unsigned char *) "$@partymembername$")+(i<<24),p->member[i].name);
j++; j++;
} }
} }
} }
mapreg_setreg(add_str("$@partymembercount"),j); mapreg_setreg(add_str((unsigned char *) "$@partymembercount"),j);
return 0; return 0;
} }
@ -2758,9 +2758,9 @@ int buildin_getguildname(struct script_state *st)
int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2]));
name=buildin_getguildname_sub(guild_id); name=buildin_getguildname_sub(guild_id);
if(name!=0) if(name!=0)
push_str(st->stack,C_STR,name); push_str(st->stack,C_STR,(unsigned char *) name);
else else
push_str(st->stack,C_CONSTSTR,"null"); push_str(st->stack,C_CONSTSTR,(unsigned char *) "null");
return 0; return 0;
} }
@ -2788,9 +2788,9 @@ int buildin_getguildmaster(struct script_state *st)
int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2])); int guild_id=conv_num(st,& (st->stack->stack_data[st->start+2]));
master=buildin_getguildmaster_sub(guild_id); master=buildin_getguildmaster_sub(guild_id);
if(master!=0) if(master!=0)
push_str(st->stack,C_STR,master); push_str(st->stack,C_STR,(unsigned char *) master);
else else
push_str(st->stack,C_CONSTSTR,"null"); push_str(st->stack,C_CONSTSTR,(unsigned char *) "null");
return 0; return 0;
} }
@ -2827,23 +2827,23 @@ int buildin_strcharinfo(struct script_state *st)
char *buf; char *buf;
buf=(char *)aCallocA(24,sizeof(char)); buf=(char *)aCallocA(24,sizeof(char));
strncpy(buf,sd->status.name, 23); strncpy(buf,sd->status.name, 23);
push_str(st->stack,C_STR,buf); push_str(st->stack,C_STR,(unsigned char *) buf);
} }
if(num==1){ if(num==1){
char *buf; char *buf;
buf=buildin_getpartyname_sub(sd->status.party_id); buf=buildin_getpartyname_sub(sd->status.party_id);
if(buf!=0) if(buf!=0)
push_str(st->stack,C_STR,buf); push_str(st->stack,C_STR,(unsigned char *) buf);
else else
push_str(st->stack,C_CONSTSTR,""); push_str(st->stack,C_CONSTSTR,(unsigned char *) "");
} }
if(num==2){ if(num==2){
char *buf; char *buf;
buf=buildin_getguildname_sub(sd->status.guild_id); buf=buildin_getguildname_sub(sd->status.guild_id);
if(buf!=0) if(buf!=0)
push_str(st->stack,C_STR,buf); push_str(st->stack,C_STR,(unsigned char *) buf);
else else
push_str(st->stack,C_CONSTSTR,""); push_str(st->stack,C_CONSTSTR,(unsigned char *) "");
} }
return 0; return 0;

View File

@ -39,7 +39,7 @@ char db_server_id[32] = "ragnarok";
char db_server_pw[32] = "ragnarok"; char db_server_pw[32] = "ragnarok";
char db_server_logindb[32] = "ragnarok"; char db_server_logindb[32] = "ragnarok";
struct storage *storage=NULL; struct storage *storage_=NULL;
struct mmo_map_server server[MAX_MAP_SERVERS]; struct mmo_map_server server[MAX_MAP_SERVERS];
int server_fd[MAX_MAP_SERVERS]; int server_fd[MAX_MAP_SERVERS];
@ -182,13 +182,13 @@ int storage_tosql(int account_id,struct storage *p){
//printf ("all storage item was deleted ok\n"); //printf ("all storage item was deleted ok\n");
for(i=0;i<MAX_STORAGE;i++) { for(i=0;i<MAX_STORAGE;i++) {
//printf ("save storage num: %d (%d:%d)\n",i, p->storage[i].nameid , p->storage[i].amount); //printf ("save storage num: %d (%d:%d)\n",i, p->storage_[i].nameid , p->storage_[i].amount);
if( (p->storage[i].nameid) && (p->storage[i].amount) ){ if( (p->storage_[i].nameid) && (p->storage_[i].amount) ){
sprintf(tmp_sql,"INSERT INTO `storage` (`account_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,`attribute`,`card0`,`card1`,`card2`,`card3`,`broken`) VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')", sprintf(tmp_sql,"INSERT INTO `storage` (`account_id`,`nameid`,`amount`,`equip`,`identify`,`refine`,`attribute`,`card0`,`card1`,`card2`,`card3`,`broken`) VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
p->account_id, p->storage[i].nameid, p->storage[i].amount, p->storage[i].equip, p->account_id, p->storage_[i].nameid, p->storage_[i].amount, p->storage_[i].equip,
p->storage[i].identify, p->storage[i].refine, p->storage[i].attribute, p->storage_[i].identify, p->storage_[i].refine, p->storage_[i].attribute,
p->storage[i].card[0], p->storage[i].card[1], p->storage[i].card[2], p->storage[i].card[3], p->storage[i].broken ); p->storage_[i].card[0], p->storage_[i].card[1], p->storage_[i].card[2], p->storage_[i].card[3], p->storage_[i].broken );
//printf ("%s\n",tmp_sql); //printf ("%s\n",tmp_sql);
if(mysql_query(&mysql_handle, tmp_sql) ) { if(mysql_query(&mysql_handle, tmp_sql) ) {
printf("DB server Error - %s\n", mysql_error(&mysql_handle) ); printf("DB server Error - %s\n", mysql_error(&mysql_handle) );
@ -219,18 +219,18 @@ int storage_fromstr(char *str, struct storage *p)
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3], &tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6], &tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &tmp_int[11], &len) == 12) { &tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &tmp_int[11], &len) == 12) {
p->storage[i].id = tmp_int[0]; p->storage_[i].id = tmp_int[0];
p->storage[i].nameid = tmp_int[1]; p->storage_[i].nameid = tmp_int[1];
p->storage[i].amount = tmp_int[2]; p->storage_[i].amount = tmp_int[2];
p->storage[i].equip = tmp_int[3]; p->storage_[i].equip = tmp_int[3];
p->storage[i].identify = tmp_int[4]; p->storage_[i].identify = tmp_int[4];
p->storage[i].refine = tmp_int[5]; p->storage_[i].refine = tmp_int[5];
p->storage[i].attribute = tmp_int[6]; p->storage_[i].attribute = tmp_int[6];
p->storage[i].card[0] = tmp_int[7]; p->storage_[i].card[0] = tmp_int[7];
p->storage[i].card[1] = tmp_int[8]; p->storage_[i].card[1] = tmp_int[8];
p->storage[i].card[2] = tmp_int[9]; p->storage_[i].card[2] = tmp_int[9];
p->storage[i].card[3] = tmp_int[10]; p->storage_[i].card[3] = tmp_int[10];
p->storage[i].broken = tmp_int[11]; p->storage_[i].broken = tmp_int[11];
next += len; next += len;
if (str[next] == ' ') if (str[next] == ' ')
next++; next++;
@ -240,18 +240,18 @@ int storage_fromstr(char *str, struct storage *p)
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3], &tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6], &tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &len) == 11) { &tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &len) == 11) {
p->storage[i].id = tmp_int[0]; p->storage_[i].id = tmp_int[0];
p->storage[i].nameid = tmp_int[1]; p->storage_[i].nameid = tmp_int[1];
p->storage[i].amount = tmp_int[2]; p->storage_[i].amount = tmp_int[2];
p->storage[i].equip = tmp_int[3]; p->storage_[i].equip = tmp_int[3];
p->storage[i].identify = tmp_int[4]; p->storage_[i].identify = tmp_int[4];
p->storage[i].refine = tmp_int[5]; p->storage_[i].refine = tmp_int[5];
p->storage[i].attribute = tmp_int[6]; p->storage_[i].attribute = tmp_int[6];
p->storage[i].card[0] = tmp_int[7]; p->storage_[i].card[0] = tmp_int[7];
p->storage[i].card[1] = tmp_int[8]; p->storage_[i].card[1] = tmp_int[8];
p->storage[i].card[2] = tmp_int[9]; p->storage_[i].card[2] = tmp_int[9];
p->storage[i].card[3] = tmp_int[10]; p->storage_[i].card[3] = tmp_int[10];
p->storage[i].broken = 0; p->storage_[i].broken = 0;
next += len; next += len;
if (str[next] == ' ') if (str[next] == ' ')
next++; next++;
@ -705,14 +705,14 @@ int mmo_char_init(void){
set=sscanf(line,"%d,%d",&tmp_int[0],&tmp_int[1]); set=sscanf(line,"%d,%d",&tmp_int[0],&tmp_int[1]);
if(set==2) { if(set==2) {
if(i==0){ if(i==0){
storage = (struct storage*)malloc(sizeof(struct storage)); storage_ = (struct storage*)malloc(sizeof(struct storage));
}else{ }else{
storage = (struct storage*)realloc(storage,sizeof(struct storage)*(i+1)); storage_ = (struct storage*)realloc(storage_,sizeof(struct storage)*(i+1));
} }
memset(&storage[i],0,sizeof(struct storage)); memset(&storage_[i],0,sizeof(struct storage));
storage[i].account_id=tmp_int[0]; storage_[i].account_id=tmp_int[0];
storage_fromstr(line,&storage[i]); storage_fromstr(line,&storage_[i]);
storage_tosql(tmp_int[0],&storage[i]); //to sql. (dump) storage_tosql(tmp_int[0],&storage_[i]); //to sql. (dump)
i++; i++;
} }
} }

View File

@ -135,14 +135,14 @@ struct storage {
int account_id; int account_id;
short storage_status; short storage_status;
short storage_amount; short storage_amount;
struct item storage[MAX_STORAGE]; struct item storage_[MAX_STORAGE];
}; };
struct guild_storage { struct guild_storage {
int guild_id; int guild_id;
short storage_status; short storage_status;
short storage_amount; short storage_amount;
struct item storage[MAX_GUILD_STORAGE]; struct item storage_[MAX_GUILD_STORAGE];
}; };
struct map_session_data; struct map_session_data;