diff options
author | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-27 06:38:17 +0000 |
---|---|---|
committer | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-27 06:38:17 +0000 |
commit | 3c8999edce9e1f0d5c0dee3ff8311e781d64c684 (patch) | |
tree | d066567a720e5fad02e6f857d55bc165d9a3809a | |
parent | ea320701794515d4ffa6a8e8ff8f3b8fdfe09860 (diff) | |
download | hercules-3c8999edce9e1f0d5c0dee3ff8311e781d64c684.tar.gz hercules-3c8999edce9e1f0d5c0dee3ff8311e781d64c684.tar.bz2 hercules-3c8999edce9e1f0d5c0dee3ff8311e781d64c684.tar.xz hercules-3c8999edce9e1f0d5c0dee3ff8311e781d64c684.zip |
* Optional macro MEMSET_TURBO for faster low-level memory initializations.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
35 files changed, 533 insertions, 431 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index b0b4f79c5..ca6f33a92 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/08/26
+ * Optional macro MEMSET_TURBO for faster low-level memory initializations. [Lance]
* Small bug fix in read_homunculus_expdb (a warning was always displayed) [Toms]
* Small adjustment on the mob_ai code which could fix mobs not chasing you
if you hit them from the maximum possible diagonal distance. [Skotlex]
diff --git a/src/common/graph.c b/src/common/graph.c index 0a49fa709..4caa830e6 100644 --- a/src/common/graph.c +++ b/src/common/graph.c @@ -71,7 +71,7 @@ void graph_pallet(struct graph* g, int index,unsigned long c) { if(g == NULL || c >= 256) return;
if(g->pallet_count <= index) {
- memset(g->png_data + 0x29 + 3 * g->pallet_count,0,(index - g->pallet_count) * 3);
+ malloc_set(g->png_data + 0x29 + 3 * g->pallet_count,0,(index - g->pallet_count) * 3);
g->pallet_count = index + 1;
}
g->png_data[0x29 + index * 3 ] = (unsigned char)((c >> 16) & 0xFF); // R
diff --git a/src/common/grfio.c b/src/common/grfio.c index aa677a0e5..6cfc7eeaa 100644 --- a/src/common/grfio.c +++ b/src/common/grfio.c @@ -169,7 +169,7 @@ static void BitConvert(BYTE *Src,char *BitSwapTable) int lop,prm;
BYTE tmp[8];
// *(DWORD*)tmp=*(DWORD*)(tmp+4)=0;
- memset(tmp,0,8);
+ malloc_tsetdword(tmp,0,8);
for(lop=0;lop!=64;lop++) {
prm = BitSwapTable[lop]-1;
if (Src[(prm >> 3) & 7] & BitMaskTable[prm & 7]) {
@@ -299,7 +299,7 @@ int decode_zip(unsigned char *dest, unsigned long* destLen, const unsigned char* int encode_zip(unsigned char *dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen) {
z_stream stream;
int err;
- memset(&stream, 0, sizeof(stream));
+ malloc_tsetdword(&stream, 0, sizeof(stream));
stream.next_in = (Bytef*)source;
stream.avail_in = (uInt)sourceLen;
/* Check for source > 64K on 16-bit machine: */
@@ -479,7 +479,7 @@ static FILELIST* filelist_add(FILELIST *entry) if (filelist_entrys >= filelist_maxentry) {
filelist = (FILELIST *)aRealloc(filelist, (filelist_maxentry + FILELIST_ADDS) * sizeof(FILELIST));
- memset(filelist + filelist_maxentry, '\0', FILELIST_ADDS * sizeof(FILELIST));
+ malloc_tsetdword(filelist + filelist_maxentry, '\0', FILELIST_ADDS * sizeof(FILELIST));
filelist_maxentry += FILELIST_ADDS;
}
@@ -949,7 +949,7 @@ char *grfio_alloc_ptr(char *fname) if (gentry_entrys >= gentry_maxentry) {
gentry_maxentry += GENTRY_ADDS;
gentry_table = (char**)aRealloc(gentry_table, gentry_maxentry * sizeof(char*));
- memset(gentry_table + (gentry_maxentry - GENTRY_ADDS), 0, sizeof(char*) * GENTRY_ADDS);
+ malloc_tsetdword(gentry_table + (gentry_maxentry - GENTRY_ADDS), 0, sizeof(char*) * GENTRY_ADDS);
}
len = strlen( fname );
buf = (char*)aMallocA(len + 1);
diff --git a/src/common/malloc.c b/src/common/malloc.c index 6eaa994d8..700da0f88 100644 --- a/src/common/malloc.c +++ b/src/common/malloc.c @@ -4,7 +4,7 @@ #include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "malloc.h"
+#include "../common/malloc.h"
#include "../common/core.h"
#include "../common/showmsg.h"
@@ -116,13 +116,15 @@ void aFree_ (void *p, const char *file, int line, const char *func) void* _bcallocA(size_t size, size_t cnt)
{
void *ret = MALLOCA(size * cnt);
- if (ret) memset(ret, 0, size * cnt);
+ if (ret) //memset(ret, 0, size * cnt);
+ malloc_set(ret, 0, size*cnt);
return ret;
}
void* _bcalloc(size_t size, size_t cnt)
{
void *ret = MALLOC(size * cnt);
- if (ret) memset(ret, 0, size * cnt);
+ if (ret) //memset(ret, 0, size * cnt);
+ malloc_set(ret, 0, size*cnt);
return ret;
}
char* _bstrdup(const char *chr)
@@ -325,7 +327,8 @@ void* _mmalloc(size_t size, const char *file, int line, const char *func ) { void* _mcalloc(size_t num, size_t size, const char *file, int line, const char *func ) {
void *p = _mmalloc(num * size,file,line,func);
- memset(p,0,num * size);
+ //memset(p,0,num * size);
+ malloc_set(p,0,num*size);
return p;
}
@@ -683,6 +686,81 @@ static void memmgr_init (void) }
#endif
+#ifdef MEMSET_TURBO
+ // This function is practically useless if the the size of the data is
+ // static. It decides whether to use setword or setdword.
+ void malloc_set(void *dest, int value, int size)
+ {
+ if(size%4 == 0)
+ malloc_tsetdword(dest, value, size);
+ else if(size%2 == 0)
+ malloc_tsetword(dest, (short)value, size);
+ else
+ memset(dest, value, (size_t) size);
+ }
+
+ // Sets 32-bit aligned memory.
+ void malloc_tsetdword(void *dest, int value, int count){
+#ifdef _WIN32
+ _asm
+ {
+ mov edx, 0
+ mov eax, count
+ mov ebx, 4
+ idiv ebx
+ mov edi, dest
+ mov ecx, eax
+ mov eax, value
+ rep stosd
+ }
+#else
+ __asm__("movl $0, %%edx;
+ movl %1, %%eax;
+ movl $4, %%ebx;
+ idivl %%ebx;
+ movl %0, %%edi;
+ movl %%eax, %%ecx;
+ movl %2, %%eax;
+ rep;
+ stosd;"
+ :
+ : "g" (dest), "g" (count), "g" (value)
+ : "edx", "eax", "ebx", "edi", "ecx"
+ );
+#endif
+ }
+
+ // Sets 16-bit aligned memory.
+ void malloc_tsetword(void *dest, short value, int count){
+#ifdef _WIN32
+ _asm
+ {
+ mov edx, 0
+ mov eax, count
+ mov ebx, 2
+ idiv ebx
+ mov edi, dest
+ mov ecx, eax
+ mov ax, value
+ rep stosw
+ }
+#else
+ __asm__("movl $0, %%edx;
+ movl %1, %%eax;
+ movl $2, %%ebx;
+ idivl %%ebx;
+ movl %0, %%edi;
+ movl %%eax, %%ecx;
+ movw %2, %%ax;
+ rep;
+ stosw;"
+ :
+ : "g" (dest), "g" (count), "g" (value)
+ : "edx", "eax", "ebx", "edi", "ecx", "ax"
+ );
+#endif
+ }
+#endif
/*======================================
* Initialise
diff --git a/src/common/malloc.h b/src/common/malloc.h index e9dbb9d44..d3df667a6 100644 --- a/src/common/malloc.h +++ b/src/common/malloc.h @@ -4,6 +4,8 @@ #ifndef _MALLOC_H_
#define _MALLOC_H_
+//#define MEMSET_TURBO
+
#ifndef __NETBSD__
#if __STDC_VERSION__ < 199901L
# if __GNUC__ >= 2
@@ -147,6 +149,22 @@ ////////////////////////////////////////////////
unsigned int malloc_usage (void);
+#ifndef INLINE
+ #ifdef _WIN32
+ #define INLINE
+ #else
+ #define INLINE inline
+ #endif
+#endif
+#ifdef MEMSET_TURBO
+ INLINE void malloc_tsetdword(void *dest, int value, int count);
+ INLINE void malloc_tsetword(void *dest, short value, int count);
+ INLINE void malloc_set(void *dest, int value, int size);
+#else
+ #define malloc_tsetdword(x,y,z) memset(x,y,z)
+ #define malloc_tsetword(x,y,z) memset(x,y,z)
+ #define malloc_set(x,y,z) memset(x,y,z)
+#endif
void malloc_init (void);
void malloc_final (void);
diff --git a/src/common/mapindex.c b/src/common/mapindex.c index 8fbf2da12..0c3faec75 100644 --- a/src/common/mapindex.c +++ b/src/common/mapindex.c @@ -3,6 +3,7 @@ #include <stdio.h> #include <stdlib.h> #include "showmsg.h" +#include "../common/malloc.h" #define MAX_MAPINDEX 2000 @@ -70,7 +71,7 @@ void mapindex_init(void) { int index, length; char map_name[1024]; - memset (&indexes, 0, sizeof (indexes)); + malloc_tsetdword (&indexes, 0, sizeof (indexes)); fp=fopen(mapindex_cfgfile,"r"); if(fp==NULL){ ShowFatalError("Unable to read mapindex config file %s!\n", mapindex_cfgfile); diff --git a/src/common/plugins.c b/src/common/plugins.c index fbadca065..a057190b9 100644 --- a/src/common/plugins.c +++ b/src/common/plugins.c @@ -133,7 +133,7 @@ int export_symbol (void *var, int offset) plugin_call_table = (void**)aRealloc(plugin_call_table, max_call_table*sizeof(void*));
// clear the new alloced block
- memset(plugin_call_table + call_table_size, 0, (max_call_table-call_table_size)*sizeof(void*));
+ malloc_tsetdword(plugin_call_table + call_table_size, 0, (max_call_table-call_table_size)*sizeof(void*));
}
// the new table size is delimited by the new element at the end
diff --git a/src/common/socket.c b/src/common/socket.c index dc8162ee1..3d7684972 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -424,7 +424,7 @@ int make_listen_port(int port) CREATE(session[fd], struct socket_data, 1);
- memset(session[fd],0,sizeof(*session[fd]));
+ malloc_set(session[fd],0,sizeof(*session[fd]));
session[fd]->func_recv = connect_client;
return fd;
@@ -502,7 +502,7 @@ int make_listen_bind(long ip,int port) CREATE(session[fd], struct socket_data, 1);
- memset(session[fd],0,sizeof(*session[fd]));
+ malloc_set(session[fd],0,sizeof(*session[fd]));
session[fd]->func_recv = connect_client;
ShowStatus("Open listen port on %d.%d.%d.%d:%i\n",
@@ -517,7 +517,7 @@ int console_recieve(int i) { char *buf;
CREATE_A(buf, char, 64);
- memset(buf,0,sizeof(64));
+ malloc_tsetdword(buf,0,sizeof(64));
n = read(0, buf , 64);
if ( n < 0 )
@@ -580,7 +580,7 @@ int start_console(void) { if (!session[0]) { // dummy socket already uses fd 0
CREATE(session[0], struct socket_data, 1);
}
- memset(session[0],0,sizeof(*session[0]));
+ malloc_set(session[0],0,sizeof(*session[0]));
session[0]->func_recv = console_recieve;
session[0]->func_console = default_console_parse;
@@ -1369,7 +1369,7 @@ void socket_init (void) session[0]->max_rdata = (int)2*rfifo_size;
session[0]->max_wdata = (int)2*wfifo_size;
- memset (func_parse_table, 0, sizeof(func_parse_table));
+ malloc_set (func_parse_table, 0, sizeof(func_parse_table));
func_parse_table[SESSION_RAW].check = default_func_check;
func_parse_table[SESSION_RAW].func = default_func_parse;
diff --git a/src/common/socket.h b/src/common/socket.h index 158759f9e..ca4b20c91 100644 --- a/src/common/socket.h +++ b/src/common/socket.h @@ -16,7 +16,7 @@ typedef long in_addr_t; #include <netinet/in.h>
#endif
#include <time.h>
-#include "malloc.h"
+#include "../common/malloc.h"
#include "cbasetypes.h"
extern time_t last_tick;
diff --git a/src/common/strlib.c b/src/common/strlib.c index d62bf4f46..8cff2a878 100644 --- a/src/common/strlib.c +++ b/src/common/strlib.c @@ -8,7 +8,7 @@ #include "strlib.h"
#include "utils.h"
-#include "malloc.h"
+#include "../common/malloc.h"
//-----------------------------------------------
// string lib.
@@ -123,7 +123,7 @@ char *trim(char *str, const char *delim) char *strp = strtok(str,delim);
char buf[1024];
char *bufp = buf;
- memset(buf,0,sizeof buf);
+ malloc_tsetdword(buf,0,sizeof buf);
while(strp) {
strcpy(bufp, strp);
diff --git a/src/common/timer.c b/src/common/timer.c index 9baa33e08..1e9ff25aa 100644 --- a/src/common/timer.c +++ b/src/common/timer.c @@ -20,7 +20,7 @@ #include <time.h>
#include "timer.h"
-#include "malloc.h"
+#include "../common/malloc.h"
#include "showmsg.h"
// タイマー間隔の最小値。モンスターの大量召還時、多数のクライアント接続時に
@@ -137,7 +137,7 @@ static void push_timer_heap(int index) } else {
timer_heap_max += 256;
timer_heap = (int *) aRealloc( timer_heap, sizeof(int) * timer_heap_max);
- memset(timer_heap + (timer_heap_max - 256), 0, sizeof(int) * 256);
+ malloc_tsetdword(timer_heap + (timer_heap_max - 256), 0, sizeof(int) * 256);
}
}
@@ -210,7 +210,7 @@ int acquire_timer (void) } else {
timer_data_max += 256;
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);
+ malloc_tsetdword(timer_data + (timer_data_max - 256), 0, sizeof(struct TimerData) * 256);
}
}
@@ -383,7 +383,7 @@ int do_timer(unsigned int tick) if (free_timer_list_pos >= free_timer_list_max) {
free_timer_list_max += 256;
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));
+ malloc_tsetdword(free_timer_list + (free_timer_list_max - 256), 0, 256 * sizeof(int));
}
free_timer_list[free_timer_list_pos++] = i;
break;
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index c4da0af2f..62fe834c8 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -795,7 +795,7 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int if (!message || !*message)
return AtCommand_None;
- memset(&info, 0, sizeof(info));
+ malloc_set(&info, 0, sizeof(info));
str += strlen(sd->status.name);
while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) {
if (*str == ':')
@@ -816,8 +816,8 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int if (type != AtCommand_None) {
char command[100];
const char* p = str;
- memset(command, '\0', sizeof(command));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(command, '\0', sizeof(command));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
while (*p && !isspace(*p))
p++;
if (p - str >= sizeof(command)) // too long
@@ -862,7 +862,7 @@ AtCommandType atcommand(struct map_session_data* sd, const int level, const char if (*p == command_symbol) { // check first char.
char command[101];
int i = 0;
- memset(info, 0, sizeof(AtCommandInfo));
+ malloc_set(info, 0, sizeof(AtCommandInfo));
sscanf(p, "%100s", command);
command[sizeof(command)-1] = '\0';
@@ -907,7 +907,7 @@ int msg_config_read(const char *cfgName) { }
if ((--called) == 0)
- memset(msg_table, 0, sizeof(msg_table[0]) * MAX_MSG);
+ malloc_tsetdword(msg_table, 0, sizeof(msg_table[0]) * MAX_MSG);
while(fgets(line, sizeof(line)-1, fp)) {
if (line[0] == '/' && line[1] == '/')
continue;
@@ -1190,7 +1190,7 @@ int atcommand_commands( int i_cur_cmd,gm_lvl = pc_isGM(sd), count = 0;
- memset(cz_line_buff,' ',MESSAGE_SIZE);
+ malloc_tsetdword(cz_line_buff,' ',MESSAGE_SIZE);
cz_line_buff[MESSAGE_SIZE] = 0;
clif_displaymessage(fd, msg_txt(273));
@@ -1208,7 +1208,7 @@ int atcommand_commands( {
clif_displaymessage(fd,(char*)cz_line_buff);
lpcz_cur = cz_line_buff;
- memset(cz_line_buff,' ',MESSAGE_SIZE);
+ malloc_tsetdword(cz_line_buff,' ',MESSAGE_SIZE);
cz_line_buff[MESSAGE_SIZE] = 0;
}
@@ -1291,7 +1291,7 @@ int atcommand_rura( nullpo_retr(-1, sd);
- memset(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
if (!message || !*message ||
(sscanf(message, "%15s %d %d", map_name, &x, &y) < 3 &&
@@ -1347,7 +1347,7 @@ int atcommand_where( int GM_level, pl_GM_level;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof atcmd_player_name);
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof atcmd_player_name);
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @where <char name>).");
@@ -1396,7 +1396,7 @@ int atcommand_jumpto( return -1;
}
- memset(atcmd_player_name, '\0', sizeof atcmd_player_name);
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof atcmd_player_name);
if (sscanf(message, "%23[^\n]", atcmd_player_name) < 1)
return -1;
if(strncmp(sd->status.name,atcmd_player_name,NAME_LENGTH)==0) //Yourself mate? Tsk tsk tsk.
@@ -1434,7 +1434,7 @@ int atcommand_jump( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
sscanf(message, "%d %d", &x, &y);
@@ -1469,9 +1469,9 @@ int atcommand_who3( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(match_text, '\0', sizeof(match_text));
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(match_text, '\0', sizeof(match_text));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if (sscanf(message, "%99[^\n]", match_text) < 1)
strcpy(match_text, "");
@@ -1544,9 +1544,9 @@ int atcommand_who2( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(match_text, '\0', sizeof(match_text));
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(match_text, '\0', sizeof(match_text));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if (sscanf(message, "%99[^\n]", match_text) < 1)
strcpy(match_text, "");
@@ -1616,10 +1616,10 @@ int atcommand_who( nullpo_retr(-1, sd);
- memset(temp0, '\0', sizeof(temp0));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(match_text, '\0', sizeof(match_text));
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(temp0, '\0', sizeof(temp0));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(match_text, '\0', sizeof(match_text));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if (sscanf(message, "%99[^\n]", match_text) < 1)
strcpy(match_text, "");
@@ -1693,8 +1693,8 @@ int atcommand_whomap3( int map_id;
char map_name[MAP_NAME_LENGTH];
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
if (!message || !*message)
map_id = sd->bl.m;
@@ -1753,8 +1753,8 @@ int atcommand_whomap2( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
if (!message || !*message)
map_id = sd->bl.m;
@@ -1817,10 +1817,10 @@ int atcommand_whomap( nullpo_retr(-1, sd);
- memset(temp0, '\0', sizeof(temp0));
- memset(temp1, '\0', sizeof(temp1));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(temp0, '\0', sizeof(temp0));
+ malloc_tsetdword(temp1, '\0', sizeof(temp1));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
if (!message || !*message)
map_id = sd->bl.m;
@@ -1894,11 +1894,11 @@ int atcommand_whogm( nullpo_retr(-1, sd);
- memset(temp0, '\0', sizeof(temp0));
- memset(temp1, '\0', sizeof(temp1));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(match_text, '\0', sizeof(match_text));
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(temp0, '\0', sizeof(temp0));
+ malloc_tsetdword(temp1, '\0', sizeof(temp1));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(match_text, '\0', sizeof(match_text));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if (sscanf(message, "%99[^\n]", match_text) < 1)
strcpy(match_text, "");
@@ -1965,9 +1965,9 @@ int atcommand_whozeny( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(match_text, '\0', sizeof(match_text));
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(match_text, '\0', sizeof(match_text));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if (sscanf(message, "%99[^\n]", match_text) < 1)
strcpy(match_text, "");
@@ -2115,7 +2115,7 @@ int atcommand_speed( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message) {
sprintf(atcmd_output, "Please, enter a speed value (usage: @speed <%d-%d>).", MIN_WALK_SPEED, MAX_WALK_SPEED);
@@ -2150,8 +2150,8 @@ int atcommand_charspeed( nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%d %23[^\n]", &speed, atcmd_player_name) < 2) {
sprintf(atcmd_output, "Please, enter a speed and a player name (usage: @charspeed <speed <%d-%d>> <char name>).", MIN_WALK_SPEED, MAX_WALK_SPEED);
@@ -2453,7 +2453,7 @@ int atcommand_kill( struct map_session_data *pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @kill <char name>).");
@@ -2504,7 +2504,7 @@ int atcommand_kami( unsigned long color=0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if(*(command + 5) != 'c' && *(command + 5) != 'C') {
@@ -2605,7 +2605,7 @@ int atcommand_item( int get_count, i;
nullpo_retr(-1, sd);
- memset(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
if (!message || !*message || sscanf(message, "%99s %d", item_name, &number) < 1) {
clif_displaymessage(fd, "Please, enter an item name/id (usage: @item <item name or ID> [quantity]).");
@@ -2631,7 +2631,7 @@ int atcommand_item( for (i = 0; i < number; i += get_count) {
// if not pet egg
if (!pet_create_egg(sd, item_id)) {
- memset(&item_tmp, 0, sizeof(item_tmp));
+ malloc_set(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = 1;
@@ -2666,7 +2666,7 @@ int atcommand_item2( int loop, get_count, i;
nullpo_retr(-1, sd);
- memset(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
if (!message || !*message || sscanf(message, "%99s %d %d %d %d %d %d %d %d", item_name, &number, &identify, &refine, &attr, &c1, &c2, &c3, &c4) < 9) {
clif_displaymessage(fd, "Please, enter all informations (usage: @item2 <item name or ID> <quantity>");
@@ -2702,7 +2702,7 @@ int atcommand_item2( refine = attr = 0;
}
for (i = 0; i < loop; i++) {
- memset(&item_tmp, 0, sizeof(item_tmp));
+ malloc_set(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = identify;
item_tmp.refine = refine;
@@ -2895,7 +2895,7 @@ int atcommand_help( FILE* fp;
nullpo_retr(-1, sd);
- memset(buf, '\0', sizeof(buf));
+ malloc_tsetdword(buf, '\0', sizeof(buf));
if ((fp = fopen(help_txt, "r")) != NULL) {
clif_displaymessage(fd, msg_txt(26)); /* Help commands: */
@@ -2936,7 +2936,7 @@ int atcommand_help2( FILE* fp;
nullpo_retr(-1, sd);
- memset(buf, '\0', sizeof(buf));
+ malloc_tsetdword(buf, '\0', sizeof(buf));
if ((fp = fopen(help2_txt, "r")) != NULL) {
clif_displaymessage(fd, msg_txt(26)); /* Help commands: */
@@ -2976,7 +2976,7 @@ int atcommand_gm( char password[100];
nullpo_retr(-1, sd);
- memset(password, '\0', sizeof(password));
+ malloc_tsetdword(password, '\0', sizeof(password));
if (!message || !*message || sscanf(message, "%99[^\n]", password) < 1) {
clif_displaymessage(fd, "Please, enter a password (usage: @gm <password>).");
@@ -3125,7 +3125,7 @@ int atcommand_model( int hair_style = 0, hair_color = 0, cloth_color = 0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d %d %d", &hair_style, &hair_color, &cloth_color) < 1) {
sprintf(atcmd_output, "Please, enter at least a value (usage: @model <hair ID: %d-%d> <hair color: %d-%d> <clothes color: %d-%d>).",
@@ -3168,7 +3168,7 @@ int atcommand_dye(const int fd, struct map_session_data* sd, const char* command int cloth_color = 0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d", &cloth_color) < 1) {
sprintf(atcmd_output, "Please, enter a clothes color (usage: @dye/@ccolor <clothes color: %d-%d>).", MIN_CLOTH_COLOR, MAX_CLOTH_COLOR);
@@ -3196,7 +3196,7 @@ int atcommand_hair_style(const int fd, struct map_session_data* sd, const char* int hair_style = 0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d", &hair_style) < 1) {
sprintf(atcmd_output, "Please, enter a hair style (usage: @hairstyle/@hstyle <hair ID: %d-%d>).", MIN_HAIR_STYLE, MAX_HAIR_STYLE);
@@ -3243,7 +3243,7 @@ int atcommand_hair_color(const int fd, struct map_session_data* sd, const char* int hair_color = 0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d", &hair_color) < 1) {
sprintf(atcmd_output, "Please, enter a hair color (usage: @haircolor/@hcolor <hair color: %d-%d>).", MIN_HAIR_COLOR, MAX_HAIR_COLOR);
@@ -3315,8 +3315,8 @@ int atcommand_go( return 0;
}
- memset(map_name, '\0', sizeof(map_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
// get the number
town = atoi(message);
@@ -3469,9 +3469,9 @@ int atcommand_monster( short mx, my;
nullpo_retr(-1, sd);
- memset(name, '\0', sizeof(name));
- memset(monster, '\0', sizeof(monster));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(name, '\0', sizeof(name));
+ malloc_tsetdword(monster, '\0', sizeof(monster));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message) {
clif_displaymessage(fd, msg_txt(80)); // Give a display name and monster name/id please.
@@ -3728,7 +3728,7 @@ void atcommand_killmonster_sub( if (!sd) return;
- memset(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
if (!message || !*message || sscanf(message, "%15s", map_name) < 1)
map_id = sd->bl.m;
@@ -3786,7 +3786,7 @@ int atcommand_refine( int count;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d %d", &position, &refine) < 2) {
clif_displaymessage(fd, "Please, enter a position and a amount (usage: @refine <equip position> <+/- amount>).");
@@ -3859,8 +3859,8 @@ int atcommand_produce( struct item tmp_item;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
if (!message || !*message || sscanf(message, "%99s %d %d", item_name, &attribute, &star) < 1) {
clif_displaymessage(fd, "Please, enter at least an item name/id (usage: @produce <equip name or equip ID> <element> <# of very's>).");
@@ -3881,7 +3881,7 @@ int atcommand_produce( attribute = ATTRIBUTE_NORMAL;
if (star < MIN_STAR || star > MAX_STAR)
star = 0;
- memset(&tmp_item, 0, sizeof tmp_item);
+ malloc_set(&tmp_item, 0, sizeof tmp_item);
tmp_item.nameid = item_id;
tmp_item.amount = 1;
tmp_item.identify = 1;
@@ -3917,7 +3917,7 @@ void atcommand_memo_sub(struct map_session_data* sd) { if (!sd) return;
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
clif_displaymessage(sd->fd, "Your actual memo positions are (except respawn point):");
for (i = MIN_PORTAL_MEMO; i <= MAX_PORTAL_MEMO; i++) {
@@ -3942,7 +3942,7 @@ int atcommand_memo( int position = 0;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d", &position) < 1)
atcommand_memo_sub(sd);
@@ -3985,7 +3985,7 @@ int atcommand_gat( int y;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
for (y = 2; y >= -2; y--) {
sprintf(atcmd_output, "%s (x= %d, y= %d) %02X %02X %02X %02X %02X",
@@ -4215,7 +4215,7 @@ int atcommand_param( status[4] = &sd->status.dex;
status[5] = &sd->status.luk;
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%d", &value) < 1 || value == 0) {
sprintf(atcmd_output, "Please, enter a valid value (usage: @str,@agi,@vit,@int,@dex,@luk <+/-adjustement>).");
@@ -4543,7 +4543,7 @@ atcommand_recall( return -1;
}
- memset(atcmd_player_name, '\0', sizeof atcmd_player_name);
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof atcmd_player_name);
if(sscanf(message, "%23[^\n]", atcmd_player_name) < 1)
return -1;
if(strncmp(sd->status.name,atcmd_player_name,NAME_LENGTH)==0)
@@ -4585,7 +4585,7 @@ int atcommand_revive( struct map_session_data *pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @revive <char name>).");
@@ -4618,7 +4618,7 @@ int atcommand_char_block( {
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charblock/@block <name>).");
@@ -4664,8 +4664,8 @@ int atcommand_char_ban( int year, month, day, hour, minute, second, value;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%s %99[^\n]", atcmd_output, atcmd_player_name) < 2) {
clif_displaymessage(fd, "Please, enter ban time and a player name (usage: @charban/@ban/@banish/@charbanish <time> <name>).");
@@ -4738,7 +4738,7 @@ int atcommand_char_unblock( {
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charunblock <player_name>).");
@@ -4771,7 +4771,7 @@ int atcommand_char_unban( {
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charunban <player_name>).");
@@ -4958,7 +4958,7 @@ int atcommand_kick( struct map_session_data *pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @kick <charname>).");
@@ -5151,7 +5151,7 @@ int atcommand_party( char party[NAME_LENGTH];
nullpo_retr(-1, sd);
- memset(party, '\0', sizeof(party));
+ malloc_tsetdword(party, '\0', sizeof(party));
if (!message || !*message || sscanf(message, "%23[^\n]", party) < 1) {
clif_displaymessage(fd, "Please, enter a party name (usage: @party <party_name>).");
@@ -5175,7 +5175,7 @@ int atcommand_guild( int prev;
nullpo_retr(-1, sd);
- memset(guild, '\0', sizeof(guild));
+ malloc_tsetdword(guild, '\0', sizeof(guild));
if (!message || !*message || sscanf(message, "%23[^\n]", guild) < 1) {
clif_displaymessage(fd, "Please, enter a guild name (usage: @guild <guild_name>).");
@@ -5271,8 +5271,8 @@ int atcommand_idsearch( struct item_data *item_array[MAX_SEARCH];
nullpo_retr(-1, sd);
- memset(item_name, '\0', sizeof(item_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%99s", item_name) < 0) {
clif_displaymessage(fd, "Please, enter a part of item name (usage: @idsearch <part_of_item_name>).");
@@ -5310,7 +5310,7 @@ int atcommand_recallall( int count, users;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (sd->bl.m >= 0 && map[sd->bl.m].flag.nowarpto && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
clif_displaymessage(fd, "You are not authorised to warp somenone to your actual map.");
@@ -5357,8 +5357,8 @@ int atcommand_guildrecall( struct guild *g;
nullpo_retr(-1, sd);
- memset(guild_name, '\0', sizeof(guild_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(guild_name, '\0', sizeof(guild_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%23[^\n]", guild_name) < 1) {
clif_displaymessage(fd, "Please, enter a guild name/id (usage: @guildrecall <guild_name/id>).");
@@ -5414,8 +5414,8 @@ int atcommand_partyrecall( int count, users;
nullpo_retr(-1, sd);
- memset(party_name, '\0', sizeof(party_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(party_name, '\0', sizeof(party_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%23[^\n]", party_name) < 1) {
clif_displaymessage(fd, "Please, enter a party name/id (usage: @partyrecall <party_name/id>).");
@@ -5644,9 +5644,9 @@ int atcommand_mapinfo( unsigned short m_index;
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(direction, '\0', sizeof(direction));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(direction, '\0', sizeof(direction));
sscanf(message, "%d %23[^\n]", &list, atcmd_player_name);
@@ -5887,7 +5887,7 @@ int atcommand_char_mount_peco( struct map_session_data *pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charmountpeco <char_name>).");
@@ -5928,8 +5928,8 @@ int atcommand_guildspy( struct guild *g;
nullpo_retr(-1, sd);
- memset(guild_name, '\0', sizeof(guild_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(guild_name, '\0', sizeof(guild_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!enable_spy)
{
@@ -5972,8 +5972,8 @@ int atcommand_partyspy( struct party_data *p;
nullpo_retr(-1, sd);
- memset(party_name, '\0', sizeof(party_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(party_name, '\0', sizeof(party_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!enable_spy)
{
@@ -6045,7 +6045,7 @@ int atcommand_nuke( struct map_session_data *pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @nuke <char name>).");
@@ -6081,7 +6081,7 @@ int atcommand_tonpc(const int fd, struct map_session_data* sd, nullpo_retr(-1, sd);
- memset(npcname, 0, sizeof(npcname));
+ malloc_tsetdword(npcname, 0, sizeof(npcname));
if (!message || !*message || sscanf(message, "%23[^\n]", npcname) < 1) {
clif_displaymessage(fd, "Please, enter a NPC name (usage: @tonpc <NPC_name>).");
@@ -6111,7 +6111,7 @@ int atcommand_shownpc(const int fd, struct map_session_data* sd, char NPCname[NAME_LENGTH];
nullpo_retr(-1, sd);
- memset(NPCname, '\0', sizeof(NPCname));
+ malloc_tsetdword(NPCname, '\0', sizeof(NPCname));
if (!message || !*message || sscanf(message, "%23[^\n]", NPCname) < 1) {
clif_displaymessage(fd, "Please, enter a NPC name (usage: @enablenpc <NPC_name>).");
@@ -6139,7 +6139,7 @@ int atcommand_hidenpc(const int fd, struct map_session_data* sd, char NPCname[NAME_LENGTH];
nullpo_retr(-1, sd);
- memset(NPCname, '\0', sizeof(NPCname));
+ malloc_tsetdword(NPCname, '\0', sizeof(NPCname));
if (!message || !*message || sscanf(message, "%23[^\n]", NPCname) < 1) {
clif_displaymessage(fd, "Please, enter a NPC name (usage: @npcoff <NPC_name>).");
@@ -6190,7 +6190,7 @@ int atcommand_unloadnpc(const int fd, struct map_session_data* sd, char NPCname[NAME_LENGTH];
nullpo_retr(-1, sd);
- memset(NPCname, '\0', sizeof(NPCname));
+ malloc_tsetdword(NPCname, '\0', sizeof(NPCname));
if (!message || !*message || sscanf(message, "%23[^\n]", NPCname) < 1) {
clif_displaymessage(fd, "Please, enter a NPC name (usage: @npcoff <NPC_name>).");
@@ -6217,8 +6217,8 @@ char * txt_time(unsigned int duration) { char temp[256];
static char temp1[256];
- memset(temp, '\0', sizeof(temp));
- memset(temp1, '\0', sizeof(temp1));
+ malloc_tsetdword(temp, '\0', sizeof(temp));
+ malloc_tsetdword(temp1, '\0', sizeof(temp1));
days = duration / (60 * 60 * 24);
duration = duration - (60 * 60 * 24 * days);
@@ -6262,7 +6262,7 @@ int atcommand_servertime(const int fd, struct map_session_data* sd, char temp[256];
nullpo_retr(-1, sd);
- memset(temp, '\0', sizeof(temp));
+ malloc_tsetdword(temp, '\0', sizeof(temp));
time(&time_server); // get time in seconds since 1/1/1970
datetime = localtime(&time_server); // convert seconds in structure
@@ -6338,9 +6338,9 @@ int atcommand_chardelitem(const int fd, struct map_session_data* sd, struct item_data *item_data;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(item_name, '\0', sizeof(item_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message || sscanf(message, "%s %d %99[^\n]", item_name, &number, atcmd_player_name) < 3 || number < 1) {
clif_displaymessage(fd, "Please, enter an item name/id, a quantity and a player name (usage: @chardelitem <item_name_or_ID> <quantity> <player>).");
@@ -6436,7 +6436,7 @@ int atcommand_jail( unsigned short m_index;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @jail <char_name>).");
@@ -6496,7 +6496,7 @@ int atcommand_unjail( unsigned short m_index;
int x=0, y=0;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @unjail/@discharge <char_name>).");
@@ -6849,7 +6849,7 @@ int atcommand_exp( char output[200];
double nextb, nextj;
nullpo_retr(-1, sd);
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(output, '\0', sizeof(output));
nextb = pc_nextbaseexp(sd);
if (nextb)
@@ -6875,7 +6875,7 @@ int atcommand_broadcast( {
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message) {
clif_displaymessage(fd, "Please, enter a message (usage: @broadcast <message>).");
@@ -6898,7 +6898,7 @@ int atcommand_localbroadcast( {
nullpo_retr(-1, sd);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || !*message) {
clif_displaymessage(fd, "Please, enter a message (usage: @localbroadcast <message>).");
@@ -6925,8 +6925,8 @@ int atcommand_chardisguise( struct map_session_data* pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(mob_name, '\0', sizeof(mob_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(mob_name, '\0', sizeof(mob_name));
if (!message || !*message || sscanf(message, "%s %23[^\n]", mob_name, atcmd_player_name) < 2) {
clif_displaymessage(fd, "Please, enter a Monster/NPC name/id and a player name (usage: @chardisguise <monster_name_or_monster_ID> <char name>).");
@@ -6979,7 +6979,7 @@ int atcommand_charundisguise( struct map_session_data* pl_sd;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charundisguise <char name>).");
@@ -7018,8 +7018,8 @@ int atcommand_email( char new_email[100];
nullpo_retr(-1, sd);
- memset(actual_email, '\0', sizeof(actual_email));
- memset(new_email, '\0', sizeof(new_email));
+ malloc_tsetdword(actual_email, '\0', sizeof(actual_email));
+ malloc_tsetdword(new_email, '\0', sizeof(new_email));
if (!message || !*message || sscanf(message, "%99s %99s", actual_email, new_email) < 2) {
clif_displaymessage(fd, "Please enter 2 emails (usage: @email <actual@email> <new@email>).");
@@ -7083,9 +7083,9 @@ atcommand_character_cart_list( int i, j, count, counter, counter2;
nullpo_retr(-1, sd);
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(outputtmp, '\0', sizeof(outputtmp));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(outputtmp, '\0', sizeof(outputtmp));
if (!message || !*message || sscanf(message, "%23[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: @charitemlist <char name>).");
@@ -7109,7 +7109,7 @@ atcommand_character_cart_list( else
sprintf(atcmd_output, "%d %s (%s, id: %d)", pl_sd->status.cart[i].amount, item_data->name, item_data->jname, pl_sd->status.cart[i].nameid);
clif_displaymessage(fd, atcmd_output);
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
counter2 = 0;
for (j = 0; j < item_data->slot; j++) {
if (pl_sd->status.cart[i].card[j]) {
@@ -7269,7 +7269,7 @@ atcommand_npcmove(const int fd, struct map_session_data* sd, if (!message || !*message)
return -1;
- memset(atcmd_player_name, '\0', sizeof atcmd_player_name);
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof atcmd_player_name);
if (sscanf(message, "%d %d %23[^\n]", &x, &y, atcmd_player_name) < 3) {
clif_displaymessage(fd, "Usage: @npcmove <X> <Y> <npc_name>");
@@ -7658,7 +7658,7 @@ void getring (struct map_session_data *sd) else
item_id = 2634;
- memset(&item_tmp,0,sizeof(item_tmp));
+ malloc_set(&item_tmp,0,sizeof(item_tmp));
item_tmp.nameid=item_id;
item_tmp.identify=1;
item_tmp.card[0]=255;
@@ -8333,7 +8333,7 @@ atcommand_sound( return -1;
}
- memset(sound_file, '\0', sizeof(sound_file));
+ malloc_tsetdword(sound_file, '\0', sizeof(sound_file));
if(sscanf(message, "%99[^\n]", sound_file) < 1)
return -1;
@@ -8979,8 +8979,8 @@ int atcommand_jumptoid( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || (cid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player CID (usage: @jumptoid/@warptoid/@gotoid <char id>).");
@@ -9032,8 +9032,8 @@ int atcommand_jumptoid2( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || (aid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player AID (usage: @jumptoid/@warptoid/@gotoid <account id>).");
@@ -9084,8 +9084,8 @@ int atcommand_recallid( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || (cid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player CID (usage: @recallid <char id>).");
@@ -9141,8 +9141,8 @@ int atcommand_recallid2( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (!message || (aid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player AID (usage: @recallid2 <account id>).");
@@ -9198,7 +9198,7 @@ int atcommand_kickid( int cid=0;
int session_id=0;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (cid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player CID (usage: @kickid <char id>).");
@@ -9245,7 +9245,7 @@ int atcommand_kickid2( int aid=0;
int session_id=0;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (aid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player AID (usage: @kickid2 <account id>).");
@@ -9292,7 +9292,7 @@ int atcommand_reviveid( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (cid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player CID (usage: @reviveid <char id>).");
@@ -9342,7 +9342,7 @@ int atcommand_reviveid2( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (aid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player AID (usage: @reviveid2 <account id>).");
@@ -9392,7 +9392,7 @@ int atcommand_killid( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (cid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player CID (usage: @killid <char id>).");
@@ -9440,7 +9440,7 @@ int atcommand_killid2( int session_id=0;
struct map_session_data *pl_sd;
- memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
+ malloc_tsetdword(atcmd_player_name, '\0', sizeof(atcmd_player_name));
if (!message || (aid = atoi(message)) == 0 || !*message || sscanf(message, "%99[^\n]", atcmd_player_name) < 1) {
clif_displaymessage(fd, "Please, enter a player AID (usage: @killid2 <account id>).");
@@ -9668,8 +9668,8 @@ int atcommand_mobinfo( int count;
int i, j, k;
- memset(atcmd_output, '\0', sizeof(atcmd_output));
- memset(atcmd_output2, '\0', sizeof(atcmd_output2));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(atcmd_output2, '\0', sizeof(atcmd_output2));
if (!message || !*message) {
clif_displaymessage(fd, "Please, enter a Monster/ID (usage: @mobinfo <monster_name_or_monster_ID>).");
@@ -10240,8 +10240,8 @@ int atcommand_me( char tempmes[200];
nullpo_retr(-1, sd);
- memset(tempmes, '\0', sizeof(tempmes));
- memset(atcmd_output, '\0', sizeof(atcmd_output));
+ malloc_tsetdword(tempmes, '\0', sizeof(tempmes));
+ malloc_tsetdword(atcmd_output, '\0', sizeof(atcmd_output));
if (sd->sc.count && //no "chatting" while muted.
(sd->sc.data[SC_BERSERK].timer!=-1 ||
@@ -10776,7 +10776,7 @@ int atcommand_request( void do_init_atcommand() {
users_db = db_alloc(__FILE__,__LINE__,DB_UINT,DB_OPT_BASE,sizeof(int));
duel_count = 0;
- memset(&duel_list[0], 0, sizeof(duel_list));
+ malloc_tsetdword(&duel_list[0], 0, sizeof(duel_list));
return;
}
diff --git a/src/map/battle.c b/src/map/battle.c index 06af76610..4289b76b2 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -81,7 +81,7 @@ struct block_list* battle_gettargeted(struct block_list *target) int c = 0; nullpo_retr(NULL, target); - memset(bl_list, 0, sizeof(bl_list)); + malloc_tsetdword(bl_list, 0, sizeof(bl_list)); map_foreachinrange(battle_gettargeted_sub, target, AREA_SIZE, BL_CHAR, bl_list, &c, target->id); if (c == 0 || c > 24) return NULL; @@ -794,8 +794,8 @@ static struct Damage battle_calc_weapon_attack( unsigned cardfix : 1; } flag; - memset(&wd,0,sizeof(wd)); - memset(&flag,0,sizeof(flag)); + malloc_tsetdword(&wd,0,sizeof(wd)); + malloc_tsetdword(&flag,0,sizeof(flag)); if(src==NULL || target==NULL) { @@ -2105,8 +2105,8 @@ struct Damage battle_calc_magic_attack( unsigned cardfix : 1; } flag; - memset(&ad,0,sizeof(ad)); - memset(&flag,0,sizeof(flag)); + malloc_tsetdword(&ad,0,sizeof(ad)); + malloc_tsetdword(&flag,0,sizeof(flag)); if(src==NULL || target==NULL) { @@ -2477,8 +2477,8 @@ struct Damage battle_calc_misc_attack( unsigned cardfix : 1; } flag; - memset(&md,0,sizeof(md)); - memset(&flag,0,sizeof(flag)); + malloc_tsetdword(&md,0,sizeof(md)); + malloc_tsetdword(&flag,0,sizeof(flag)); if( src == NULL || target == NULL ){ nullpo_info(NLP_MARK); @@ -2735,7 +2735,7 @@ struct Damage battle_calc_attack( int attack_type, default: if (battle_config.error_log) ShowError("battle_calc_attack: unknown attack type! %d\n",attack_type); - memset(&d,0,sizeof(d)); + malloc_tsetdword(&d,0,sizeof(d)); break; } if (d.damage + d.damage2 < 1) diff --git a/src/map/charcommand.c b/src/map/charcommand.c index 740f7465d..66905faba 100644 --- a/src/map/charcommand.c +++ b/src/map/charcommand.c @@ -138,7 +138,7 @@ is_charcommand(const int fd, struct map_session_data* sd, const char* message, i if (!message || !*message)
return CharCommand_None;
- memset(&info, 0, sizeof(info));
+ malloc_set(&info, 0, sizeof(info));
str += strlen(sd->status.name);
while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) {
if (*str == ':')
@@ -162,8 +162,8 @@ is_charcommand(const int fd, struct map_session_data* sd, const char* message, i char command[100];
char output[200];
const char* p = str;
- memset(command, '\0', sizeof(command));
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(command, '\0', sizeof(command));
+ malloc_tsetdword(output, '\0', sizeof(output));
while (*p && !isspace(*p))
p++;
if (p - str >= sizeof(command)) // too long
@@ -208,7 +208,7 @@ CharCommandType charcommand(struct map_session_data* sd, const int level, const if (*p == command_symbol) { // check first char.
char command[101];
int i = 0;
- memset(info, 0, sizeof(CharCommandInfo));
+ malloc_set(info, 0, sizeof(CharCommandInfo));
sscanf(p, "%100s", command);
command[sizeof(command)-1] = '\0';
@@ -307,7 +307,7 @@ int charcommand_jobchange( struct map_session_data* pl_sd;
int job = 0, upper = -1;
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message) {
clif_displaymessage(fd, "Please, enter a job and a player name (usage: #job/#jobchange <job ID> <char name>).");
@@ -364,7 +364,7 @@ int charcommand_petrename( struct map_session_data *pl_sd;
struct pet_data *pd;
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #petrename <char name>).");
@@ -408,7 +408,7 @@ int charcommand_petfriendly( struct map_session_data *pl_sd;
struct pet_data *pd;
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message || sscanf(message,"%d %23s",&friendly,character) < 2) {
clif_displaymessage(fd, "Please, enter a valid value (usage: "
"#petfriendly <0-1000> <player>).");
@@ -459,9 +459,9 @@ int charcommand_stats( struct map_session_data *pl_sd;
int i;
- memset(character, '\0', sizeof(character));
- memset(job_jobname, '\0', sizeof(job_jobname));
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(character, '\0', sizeof(character));
+ malloc_tsetdword(job_jobname, '\0', sizeof(job_jobname));
+ malloc_tsetdword(output, '\0', sizeof(output));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #stats <char name>).");
@@ -530,8 +530,8 @@ int charcommand_reset( char output[200];
struct map_session_data *pl_sd;
- memset(character, '\0', sizeof(character));
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(character, '\0', sizeof(character));
+ malloc_tsetdword(output, '\0', sizeof(output));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #reset <charname>).");
@@ -568,7 +568,7 @@ int charcommand_option( int opt1 = 0, opt2 = 0, opt3 = 0;
struct map_session_data* pl_sd;
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message ||
sscanf(message, "%d %d %d %23[^\n]", &opt1, &opt2, &opt3, character) < 4 ||
@@ -609,8 +609,8 @@ int charcommand_save( int x = 0, y = 0;
int m;
- memset(map_name, '\0', sizeof(map_name));
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message || sscanf(message, "%15s %d %d %23[^\n]", map_name, &x, &y, character) < 4 || x < 0 || y < 0) {
clif_displaymessage(fd, "Please, enter a valid save point and a player name (usage: #save <map> <x> <y> <charname>).");
@@ -662,8 +662,8 @@ int charcommand_stats_all(const int fd, struct map_session_data* sd, const char* int count, users;
struct map_session_data *pl_sd, **pl_allsd;
- memset(output, '\0', sizeof(output));
- memset(gmlevel, '\0', sizeof(gmlevel));
+ malloc_tsetdword(output, '\0', sizeof(output));
+ malloc_tsetdword(gmlevel, '\0', sizeof(gmlevel));
count = 0;
pl_allsd = map_getallusers(&users);
@@ -706,7 +706,7 @@ int charcommand_spiritball(const int fd, struct map_session_data* sd,const char* char character[NAME_LENGTH];
int spirit = 0;
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if(!message || !*message || sscanf(message, "%d %23[^\n]", &spirit, character) < 2 || spirit < 0 || spirit > 1000) {
clif_displaymessage(fd, "Usage: @spiritball <number: 0-1000>) <CHARACTER_NAME>.");
@@ -754,10 +754,10 @@ charcommand_itemlist( struct item *i_item; //Current inventory item.
nullpo_retr(-1, sd);
- memset(character, '\0', sizeof(character));
- memset(output, '\0', sizeof(output));
- memset(equipstr, '\0', sizeof(equipstr));
- memset(outputtmp, '\0', sizeof(outputtmp));
+ malloc_tsetdword(character, '\0', sizeof(character));
+ malloc_tsetdword(output, '\0', sizeof(output));
+ malloc_tsetdword(equipstr, '\0', sizeof(equipstr));
+ malloc_tsetdword(outputtmp, '\0', sizeof(outputtmp));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #itemlist <char name>).");
@@ -810,13 +810,13 @@ charcommand_itemlist( // remove final ', '
equipstr[strlen(equipstr) - 2] = '\0';
} else
- memset(equipstr, '\0', sizeof(equipstr));
+ malloc_tsetdword(equipstr, '\0', sizeof(equipstr));
if (i_item->refine)
sprintf(output, "%d %s %+d (%s %+d, id: %d) %s", i_item->amount, item_data->name, i_item->refine, item_data->jname, i_item->refine, i_item->nameid, equipstr);
else
sprintf(output, "%d %s (%s, id: %d) %s", i_item->amount, item_data->name, item_data->jname, i_item->nameid, equipstr);
clif_displaymessage(fd, output);
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(output, '\0', sizeof(output));
counter2 = 0;
if(i_item->card[0]==CARD0_PET) { //pet eggs
@@ -914,9 +914,9 @@ charcommand_storagelist( char character[NAME_LENGTH], output[200], outputtmp[200];
nullpo_retr(-1, sd);
- memset(character, '\0', sizeof(character));
- memset(output, '\0', sizeof(output));
- memset(outputtmp, '\0', sizeof(outputtmp));
+ malloc_tsetdword(character, '\0', sizeof(character));
+ malloc_tsetdword(output, '\0', sizeof(output));
+ malloc_tsetdword(outputtmp, '\0', sizeof(outputtmp));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #itemlist <char name>).");
@@ -941,7 +941,7 @@ charcommand_storagelist( else
sprintf(output, "%d %s (%s, id: %d)", stor->storage_[i].amount, item_data->name, item_data->jname, stor->storage_[i].nameid);
clif_displaymessage(fd, output);
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(output, '\0', sizeof(output));
counter2 = 0;
for (j = 0; j < item_data->slot; j++) {
if (stor->storage_[i].card[j]) {
@@ -997,7 +997,7 @@ charcommand_giveitem_sub(struct map_session_data *sd,struct item_data *item_data get_count = 1;
}
for (i = 0; i < loop; i++) {
- memset(&item_tmp, 0, sizeof(item_tmp));
+ malloc_set(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_data->nameid;
item_tmp.identify = 1;
@@ -1030,7 +1030,7 @@ int charcommand_item( char tmp_cmdoutput[1024];
nullpo_retr(-1, sd);
- memset(item_name, '\0', sizeof(item_name));
+ malloc_tsetdword(item_name, '\0', sizeof(item_name));
if (!message || !*message || sscanf(message, "%99s %d %23[^\n]", item_name, &number, character) < 3) {
clif_displaymessage(fd, "Please, enter an item name/id (usage: #item <item name or ID> <quantity> <char name>).");
@@ -1065,7 +1065,7 @@ int charcommand_item( 100, 0, 1, pet_db[pet_id].jname);
// if not pet egg
} else {
- memset(&item_tmp, 0, sizeof(item_tmp));
+ malloc_set(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = 1;
@@ -1124,8 +1124,8 @@ int charcommand_warp( nullpo_retr(-1, sd);
- memset(map_name, '\0', sizeof(map_name));
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(map_name, '\0', sizeof(map_name));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message || sscanf(message, "%15s %d %d %23[^\n]", map_name, &x, &y, character) < 4) {
clif_displaymessage(fd, "Usage: #warp/#rura/#rura+ <mapname> <x> <y> <char name>");
@@ -1182,7 +1182,7 @@ int charcommand_zeny( int zeny = 0, new_zeny;
nullpo_retr(-1, sd);
- memset(character, '\0', sizeof(character));
+ malloc_tsetdword(character, '\0', sizeof(character));
if (!message || !*message || sscanf(message, "%d %23[^\n]", &zeny, character) < 2 || zeny == 0) {
clif_displaymessage(fd, "Please, enter a number and a player name (usage: #zeny <zeny> <name>).");
@@ -1766,8 +1766,8 @@ int charcommand_feelreset( char output[200];
struct map_session_data *pl_sd;
- memset(character, '\0', sizeof(character));
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(character, '\0', sizeof(character));
+ malloc_tsetdword(output, '\0', sizeof(output));
if (!message || !*message || sscanf(message, "%23[^\n]", character) < 1) {
clif_displaymessage(fd, "Please, enter a player name (usage: #feelreset <charname>).");
@@ -1804,7 +1804,7 @@ int charcommand_help( FILE* fp;
nullpo_retr(-1, sd);
- memset(buf, '\0', sizeof(buf));
+ malloc_tsetdword(buf, '\0', sizeof(buf));
if ((fp = fopen(charhelp_txt, "r")) != NULL) {
clif_displaymessage(fd, msg_table[26]); /* Help commands: */
diff --git a/src/map/chrif.c b/src/map/chrif.c index f4def8091..6f3e35c0d 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1170,9 +1170,9 @@ int chrif_recvfamelist(int fd) int total = 0, len = 8;
RFIFOHEAD(fd);
- memset (smith_fame_list, 0, sizeof(smith_fame_list));
- memset (chemist_fame_list, 0, sizeof(chemist_fame_list));
- memset (taekwon_fame_list, 0, sizeof(taekwon_fame_list));
+ malloc_tsetdword (smith_fame_list, 0, sizeof(smith_fame_list));
+ malloc_tsetdword (chemist_fame_list, 0, sizeof(chemist_fame_list));
+ malloc_tsetdword (taekwon_fame_list, 0, sizeof(taekwon_fame_list));
size = RFIFOW(fd, 6); //Blacksmith block size
for (num = 0; len < size && num < MAX_FAME_LIST; num++) {
@@ -1319,7 +1319,7 @@ int chrif_load_scdata(int fd) }
fclose(fp);
} else {
- memset(buf, 0, sizeof(buf)); //No data found, send empty packets?
+ malloc_tsetdword(buf, 0, sizeof(buf)); //No data found, send empty packets?
WFIFOW(char_fd,8) = sizeof(buf) + 10;
memcpy(WFIFOP(char_fd,10), buf, sizeof(buf));
}
diff --git a/src/map/clif.c b/src/map/clif.c index 8673a3ab8..e14364b44 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -899,7 +899,7 @@ static int clif_set0078(struct block_list *bl, struct view_data *vd, unsigned ch lv = status_get_lv(bl);
if(pcdb_checkid(vd->class_)) {
#if PACKETVER > 6
- memset(buf,0,packet_len_table[0x22a]);
+ malloc_set(buf,0,packet_len_table[0x22a]);
WBUFW(buf,0)=0x22a;
WBUFL(buf,2)=bl->id;
@@ -935,7 +935,7 @@ static int clif_set0078(struct block_list *bl, struct view_data *vd, unsigned ch WBUFW(buf,56)=clif_setlevel(lv);
return packet_len_table[0x22a];
#elif PACKETVER > 3
- memset(buf,0,packet_len_table[0x1d8]);
+ malloc_set(buf,0,packet_len_table[0x1d8]);
WBUFW(buf,0)=0x1d8;
WBUFL(buf,2)=bl->id;
@@ -971,7 +971,7 @@ static int clif_set0078(struct block_list *bl, struct view_data *vd, unsigned ch WBUFW(buf,52)=clif_setlevel(lv);
return packet_len_table[0x1d8];
#else
- memset(buf,0,packet_len_table[0x78]);
+ malloc_set(buf,0,packet_len_table[0x78]);
WBUFW(buf,0)=0x78;
WBUFL(buf,2)=bl->id;
@@ -1007,7 +1007,7 @@ static int clif_set0078(struct block_list *bl, struct view_data *vd, unsigned ch #endif
}
//Non-player sprites need just a few fields filled.
- memset(buf,0,packet_len_table[0x78]);
+ malloc_set(buf,0,packet_len_table[0x78]);
WBUFW(buf,0)=0x78;
WBUFL(buf,2)=bl->id;
@@ -1056,7 +1056,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit if(pcdb_checkid(vd->class_)) {
#if PACKETVER > 6
- memset(buf,0,packet_len_table[0x22c]);
+ malloc_set(buf,0,packet_len_table[0x22c]);
WBUFW(buf,0)=0x22c;
WBUFL(buf,2)=bl->id;
@@ -1093,7 +1093,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit return packet_len_table[0x22c];
#elif PACKETVER > 3
- memset(buf,0,packet_len_table[0x1da]);
+ malloc_set(buf,0,packet_len_table[0x1da]);
WBUFW(buf,0)=0x1da;
WBUFL(buf,2)=bl->id;
@@ -1130,7 +1130,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit return packet_len_table[0x1da];
#else
- memset(buf,0,packet_len_table[0x7b]);
+ malloc_set(buf,0,packet_len_table[0x7b]);
WBUFW(buf,0)=0x7b;
WBUFL(buf,2)=bl->id;
@@ -1168,7 +1168,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit }
//Non-player sprites only require a few fields.
#if PACKETVER > 6
- memset(buf,0,packet_len_table[0x22c]);
+ malloc_set(buf,0,packet_len_table[0x22c]);
WBUFW(buf,0)=0x22c;
WBUFL(buf,2)=bl->id;
@@ -1193,7 +1193,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit WBUFW(buf,62)=clif_setlevel(lv);
return packet_len_table[0x22c];
#else
- memset(buf,0,packet_len_table[0x7b]);
+ malloc_set(buf,0,packet_len_table[0x7b]);
WBUFW(buf,0)=0x7b;
WBUFL(buf,2)=bl->id;
@@ -1404,7 +1404,7 @@ int clif_spawn(struct block_list *bl) }
} else { //Mob spawn packet.
struct status_change *sc = status_get_sc(bl);
- memset(buf,0,sizeof(buf));
+ malloc_tsetdword(buf,0,sizeof(buf));
WBUFW(buf,0)=0x7c;
WBUFL(buf,2)=bl->id;
WBUFW(buf,6)=status_get_speed(bl);
@@ -1463,7 +1463,7 @@ int clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag) nullpo_retr(0, hd);
status = &hd->battle_status;
- memset(buf,0,packet_len_table[0x22e]);
+ malloc_set(buf,0,packet_len_table[0x22e]);
WBUFW(buf,0)=0x22e;
memcpy(WBUFP(buf,2),sd->homunculus.name,NAME_LENGTH);
// WBUFB(buf,26)=sd->homunculus.rename_flag * 2;
@@ -1699,7 +1699,7 @@ int clif_movepc(struct map_session_data *sd) { || map[sd->bl.m].flag.rain
|| map[sd->bl.m].flag.clouds2
) {
- memset(buf,0,packet_len_table[0x7b]);
+ malloc_set(buf,0,packet_len_table[0x7b]);
WBUFW(buf,0)=0x7b;
WBUFL(buf,2)=-10;
WBUFW(buf,6)=sd->battle_status.speed;
@@ -2051,7 +2051,7 @@ void clif_sendfakenpc(struct map_session_data *sd, int npcid) { int fd = sd->fd;
//sd->npc_id = npcid;
sd->state.using_fake_npc = 1;
- memset(WFIFOP(fd,0), 0, packet_len_table[0x78]);
+ malloc_set(WFIFOP(fd,0), 0, packet_len_table[0x78]);
WFIFOW(fd,0)=0x78;
WFIFOL(fd,2)=npcid;
WFIFOW(fd,14)=111;
@@ -3225,7 +3225,7 @@ int clif_misceffect2(struct block_list *bl, int type) { nullpo_retr(0, bl);
- memset(buf, 0, packet_len_table[0x1f3]);
+ malloc_set(buf, 0, packet_len_table[0x1f3]);
WBUFW(buf,0) = 0x1f3;
WBUFL(buf,2) = bl->id;
@@ -4102,7 +4102,7 @@ int clif_getareachar_skillunit(struct map_session_data *sd,struct skill_unit *un #if PACKETVER >= 3
if(unit->group->unit_id==UNT_GRAFFITI) { // Graffiti [Valaris]
WFIFOHEAD(fd,packet_len_table[0x1c9]);
- memset(WFIFOP(fd,0),0,packet_len_table[0x1c9]);
+ malloc_set(WFIFOP(fd,0),0,packet_len_table[0x1c9]);
WFIFOW(fd, 0)=0x1c9;
WFIFOL(fd, 2)=unit->bl.id;
WFIFOL(fd, 6)=unit->group->src_id;
@@ -4117,7 +4117,7 @@ int clif_getareachar_skillunit(struct map_session_data *sd,struct skill_unit *un }
#endif
WFIFOHEAD(fd,packet_len_table[0x11f]);
- memset(WFIFOP(fd,0),0,packet_len_table[0x11f]);
+ malloc_set(WFIFOP(fd,0),0,packet_len_table[0x11f]);
WFIFOW(fd, 0)=0x11f;
WFIFOL(fd, 2)=unit->bl.id;
WFIFOL(fd, 6)=unit->group->src_id;
@@ -4136,7 +4136,7 @@ int clif_getareachar_skillunit(struct map_session_data *sd,struct skill_unit *un return 0;
/* Previous implementation guess of packet 0x1c9, who can understand what all those fields are for? [Skotlex]
WFIFOHEAD(fd,packet_len_table[0x1c9]);
- memset(WFIFOP(fd,0),0,packet_len_table[0x1c9]);
+ malloc_set(WFIFOP(fd,0),0,packet_len_table[0x1c9]);
WFIFOW(fd, 0)=0x1c9;
WFIFOL(fd, 2)=unit->bl.id;
WFIFOL(fd, 6)=unit->group->src_id;
@@ -4751,7 +4751,7 @@ int clif_skill_setunit(struct skill_unit *unit) #if PACKETVER >= 3
if(unit->group->unit_id==UNT_GRAFFITI) { // Graffiti [Valaris]
- memset(WBUFP(buf, 0),0,packet_len_table[0x1c9]);
+ malloc_set(WBUFP(buf, 0),0,packet_len_table[0x1c9]);
WBUFW(buf, 0)=0x1c9;
WBUFL(buf, 2)=unit->bl.id;
WBUFL(buf, 6)=unit->group->src_id;
@@ -4769,7 +4769,7 @@ int clif_skill_setunit(struct skill_unit *unit) return 0;
}
#endif
- memset(WBUFP(buf, 0),0,packet_len_table[0x11f]);
+ malloc_set(WBUFP(buf, 0),0,packet_len_table[0x11f]);
WBUFW(buf, 0)=0x11f;
WBUFL(buf, 2)=unit->bl.id;
WBUFL(buf, 6)=unit->group->src_id;
@@ -4785,7 +4785,7 @@ int clif_skill_setunit(struct skill_unit *unit) return 0;
/* Previous mysterious implementation noone really understands. [Skotlex]
- memset(WBUFP(buf, 0),0,packet_len_table[0x1c9]);
+ malloc_set(WBUFP(buf, 0),0,packet_len_table[0x1c9]);
WBUFW(buf, 0)=0x1c9;
WBUFL(buf, 2)=unit->bl.id;
WBUFL(buf, 6)=unit->group->src_id;
@@ -6389,7 +6389,7 @@ int clif_pet_emotion(struct pet_data *pd,int param) nullpo_retr(0, pd);
- memset(buf,0,packet_len_table[0x1aa]);
+ malloc_set(buf,0,packet_len_table[0x1aa]);
WBUFW(buf,0)=0x1aa;
WBUFL(buf,2)=pd->bl.id;
@@ -6414,7 +6414,7 @@ int clif_pet_performance(struct block_list *bl,int param) nullpo_retr(0, bl);
- memset(buf,0,packet_len_table[0x1a4]);
+ malloc_set(buf,0,packet_len_table[0x1a4]);
WBUFW(buf,0)=0x1a4;
WBUFB(buf,2)=4;
@@ -6432,7 +6432,7 @@ int clif_pet_equip(struct pet_data *pd) nullpo_retr(0, pd);
- memset(buf,0,packet_len_table[0x1a4]);
+ malloc_set(buf,0,packet_len_table[0x1a4]);
WBUFW(buf,0)=0x1a4;
WBUFB(buf,2)=3;
@@ -6723,7 +6723,7 @@ int clif_guild_belonginfo(struct map_session_data *sd,struct guild *g) ps=guild_getposition(sd,g);
WFIFOHEAD(fd,packet_len_table[0x16c]);
- memset(WFIFOP(fd,0),0,packet_len_table[0x16c]);
+ malloc_set(WFIFOP(fd,0),0,packet_len_table[0x16c]);
WFIFOW(fd,0)=0x16c;
WFIFOL(fd,2)=g->guild_id;
WFIFOL(fd,6)=g->emblem_id;
@@ -6930,7 +6930,7 @@ int clif_guild_memberlist(struct map_session_data *sd) WFIFOL(fd,c*104+22)=m->exp;
WFIFOL(fd,c*104+26)=m->online;
WFIFOL(fd,c*104+30)=m->position;
- memset(WFIFOP(fd,c*104+34),0,50); // メモ?
+ malloc_tsetword(WFIFOP(fd,c*104+34),0,50); // メモ?
memcpy(WFIFOP(fd,c*104+84),m->name,NAME_LENGTH);
c++;
}
@@ -7084,7 +7084,7 @@ int clif_guild_skillinfo(struct map_session_data *sd) WFIFOW(fd,c*37+12) = g->skill[i].lv;
WFIFOW(fd,c*37+14) = skill_get_sp(id,g->skill[i].lv);
WFIFOW(fd,c*37+16) = skill_get_range(id,g->skill[i].lv);
- memset(WFIFOP(fd,c*37+18),0,24);
+ malloc_tsetdword(WFIFOP(fd,c*37+18),0,24);
if(g->skill[i].lv < guild_skill_get_max(id) && (sd == g->member[0].sd))
up = 1;
else
@@ -7706,7 +7706,7 @@ void clif_soundeffect(struct map_session_data *sd,struct block_list *bl,char *na int clif_soundeffectall(struct block_list *bl, char *name, int type, int coverage)
{
unsigned char buf[40];
- memset(buf, 0, packet_len_table[0x1d3]);
+ malloc_set(buf, 0, packet_len_table[0x1d3]);
if(coverage < 0 || coverage > 22){
ShowError("clif_soundeffectall: undefined coverage.\n");
@@ -7732,7 +7732,7 @@ int clif_specialeffect(struct block_list *bl, int type, int flag) nullpo_retr(0, bl);
- memset(buf, 0, packet_len_table[0x1f3]);
+ malloc_set(buf, 0, packet_len_table[0x1f3]);
WBUFW(buf,0) = 0x1f3;
WBUFL(buf,2) = bl->id;
@@ -8035,7 +8035,7 @@ void clif_hate_mob(struct map_session_data *sd, int skilllv,int mob_id) else if (mobdb_checkid(mob_id))
strncpy(WFIFOP(fd,2),mob_db(mob_id)->jname, NAME_LENGTH);
else //Really shouldn't happen...
- memset(WFIFOP(fd,2), 0, NAME_LENGTH);
+ malloc_tsetdword(WFIFOP(fd,2), 0, NAME_LENGTH);
WFIFOL(fd,26)=sd->bl.id;
WFIFOW(fd,30)=0xa00+skilllv-1;
WFIFOSET(fd, packet_len_table[0x20e]);
@@ -8519,7 +8519,7 @@ void check_fake_id(int fd, struct map_session_data *sd, int target_id) { }
intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, message_to_gm);
// send this info cause the bot ask until get an answer, damn spam
- memset(WPACKETP(0), 0, packet_len_table[0x95]);
+ malloc_tsetdword(WPACKETP(0), 0, packet_len_table[0x95]);
WPACKETW(0) = 0x95;
WPACKETL(2) = server_char_id;
strncpy(WPACKETP(6), sd->status.name, 24);
@@ -8560,7 +8560,7 @@ void check_fake_id(int fd, struct map_session_data *sd, int target_id) { }
intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, message_to_gm);
// send this info cause the bot ask until get an answer, damn spam
- memset(WPACKETP(0), 0, packet_len_table[0x95]);
+ malloc_tsetdword(WPACKETP(0), 0, packet_len_table[0x95]);
WPACKETW(0) = 0x95;
WPACKETL(2) = server_fake_mob_id;
fake_mob = fake_mob_list[(sd->bl.m + sd->fd + sd->status.char_id) % (sizeof(fake_mob_list) / sizeof(fake_mob_list[0]))]; // never same mob
@@ -10774,9 +10774,9 @@ void clif_parse_GMKick(int fd, struct map_session_data *sd) { *------------------------------------------
*/
void clif_parse_Shift(int fd, struct map_session_data *sd) { // Rewriten by [Yor]
- char player_name[NAME_LENGTH+1];
+ char player_name[NAME_LENGTH];
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
(pc_isGM(sd) >= get_atcommand_level(AtCommand_JumpTo))) {
@@ -10793,9 +10793,9 @@ void clif_parse_Shift(int fd, struct map_session_data *sd) { // Rewriten by [Yor *------------------------------------------
*/
void clif_parse_Recall(int fd, struct map_session_data *sd) { // Added by RoVeRT
- char player_name[25];
+ char player_name[NAME_LENGTH];
- memset(player_name, '\0', sizeof(player_name));
+ malloc_tsetdword(player_name, '\0', sizeof(player_name));
if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
(pc_isGM(sd) >= get_atcommand_level(AtCommand_Recall))) {
@@ -10815,7 +10815,7 @@ void clif_parse_GM_Monster_Item(int fd, struct map_session_data *sd) { char monster_item_name[NAME_LENGTH+10]; //Additional space is for logging, eg: "@monster Poring"
int level;
- memset(monster_item_name, '\0', sizeof(monster_item_name));
+ malloc_tsetdword(monster_item_name, '\0', sizeof(monster_item_name));
if (battle_config.atc_gmonly == 0 || pc_isGM(sd)) {
RFIFOHEAD(fd);
@@ -10935,7 +10935,7 @@ void clif_parse_PMIgnore(int fd, struct map_session_data *sd) { // Rewritten by int i, pos;
RFIFOHEAD(fd);
- memset(output, '\0', sizeof(output));
+ malloc_tsetdword(output, '\0', sizeof(output));
nick = (char*)RFIFOP(fd,2); // speed up
RFIFOB(fd,NAME_LENGTH+1) = '\0'; // to be sure that the player name have at maximum 23 characters (nick range: [2]->[26])
@@ -10996,7 +10996,7 @@ void clif_parse_PMIgnore(int fd, struct map_session_data *sd) { // Rewritten by pos = -1;
for(i = 0; i < MAX_IGNORE_LIST; i++)
if (strcmp(sd->ignore[i].name, nick) == 0) {
- memset(sd->ignore[i].name, 0, sizeof(sd->ignore[i].name));
+ malloc_tsetdword(sd->ignore[i].name, 0, sizeof(sd->ignore[i].name));
if (pos == -1) {
WFIFOB(fd,3) = 0; // success
WFIFOSET(fd, packet_len_table[0x0d1]);
@@ -11313,7 +11313,7 @@ void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd) { for(j = i + 1; j < MAX_FRIENDS; j++)
memcpy(&sd->status.friends[j-1], &sd->status.friends[j], sizeof(sd->status.friends[0]));
- memset(&sd->status.friends[MAX_FRIENDS-1], 0, sizeof(sd->status.friends[MAX_FRIENDS-1]));
+ malloc_set(&sd->status.friends[MAX_FRIENDS-1], 0, sizeof(sd->status.friends[MAX_FRIENDS-1]));
clif_displaymessage(fd, "Friend removed");
WFIFOHEAD(fd,packet_len_table[0x20a]);
@@ -12021,7 +12021,7 @@ static int packetdb_readdb(void) }
}
- memset(str,0,sizeof(str));
+ malloc_tsetdword(str,0,sizeof(str));
for(j=0,p=line;j<4 && p;j++){
str[j]=p;
p=strchr(p,',');
@@ -12053,7 +12053,7 @@ static int packetdb_readdb(void) for(i=0;i<MAX_PACKET_DB;i++){
if (packet_db[packet_ver][i].func == clif_parse_func[j].func)
{
- memset(&packet_db[packet_ver][i], 0, sizeof(struct packet_db));
+ malloc_tsetword(&packet_db[packet_ver][i], 0, sizeof(struct packet_db));
break;
}
}
@@ -12101,9 +12101,9 @@ static int packetdb_readdb(void) int do_init_clif(void) {
clif_config.packet_db_ver = -1; // the main packet version of the DB
- memset(clif_config.connect_cmd, 0, sizeof(clif_config.connect_cmd)); //The default connect command will be determined after reading the packet_db [Skotlex]
+ malloc_tsetdword(clif_config.connect_cmd, 0, sizeof(clif_config.connect_cmd)); //The default connect command will be determined after reading the packet_db [Skotlex]
- memset(packet_db,0,sizeof(packet_db));
+ malloc_tsetword(packet_db,0,sizeof(packet_db));
//Using the packet_db file is the only way to set up packets now [Skotlex]
packetdb_readdb();
diff --git a/src/map/guild.c b/src/map/guild.c index ff972ffd9..de23c4254 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -94,7 +94,7 @@ int guild_read_guildskill_tree_db(void) FILE *fp;
char line[1024],*p;
- memset(guild_skill_tree,0,sizeof(guild_skill_tree));
+ malloc_set(guild_skill_tree,0,sizeof(guild_skill_tree));
sprintf(line, "%s/guild_skill_tree.txt", db_path);
if( (fp=fopen(line,"r"))==NULL){
ShowError("can't read %s\n", line);
@@ -170,7 +170,7 @@ static int guild_read_castledb(void) while(fgets(line,1020,fp)){
if(line[0]=='/' && line[1]=='/')
continue;
- memset(str,0,sizeof(str));
+ malloc_tsetdword(str,0,sizeof(str));
for(j=0,p=line;j<6 && p;j++){
str[j]=p;
p=strchr(p,',');
@@ -325,7 +325,7 @@ void guild_makemember(struct guild_member *m,struct map_session_data *sd) {
nullpo_retv(sd);
- memset(m,0,sizeof(struct guild_member));
+ malloc_set(m,0,sizeof(struct guild_member));
m->account_id =sd->status.account_id;
m->char_id =sd->status.char_id;
m->hair =sd->status.hair;
@@ -816,7 +816,7 @@ int guild_expulsion(struct map_session_data *sd,int guild_id, intif_guild_leave(g->guild_id,account_id,char_id,1,mes);
//It's wrong way, member info will erased later
//see guild_member_leaved [LuzZza]
- //memset(&g->member[i],0,sizeof(struct guild_member));
+ //malloc_set(&g->member[i],0,sizeof(struct guild_member));
return 0;
}
}
@@ -846,7 +846,7 @@ int guild_member_leaved(int guild_id,int account_id,int char_id,int flag, else
clif_guild_expulsion(online_member_sd, name, mes, account_id);
- memset(&g->member[i],0,sizeof(struct guild_member));
+ malloc_set(&g->member[i],0,sizeof(struct guild_member));
clif_guild_memberlist(online_member_sd);
if(sd != NULL && sd->status.guild_id == guild_id) {
diff --git a/src/map/irc.c b/src/map/irc.c index 9d59fba68..908e8220a 100644 --- a/src/map/irc.c +++ b/src/map/irc.c @@ -58,7 +58,7 @@ int irc_connect_timer(int tid, unsigned int tick, int id, int data) void irc_announce(char *buf)
{
char send_string[256];
- memset(send_string,'\0',256);
+ malloc_tsetdword(send_string,'\0',256);
sprintf(send_string,"PRIVMSG %s :%s",irc_channel, buf);
irc_send(send_string);
@@ -69,7 +69,7 @@ void irc_announce_jobchange(struct map_session_data *sd) char send_string[256];
nullpo_retv(sd);
- memset(send_string,'\0',256);
+ malloc_tsetdword(send_string,'\0',256);
sprintf(send_string,"PRIVMSG %s :%s has changed into a %s.",irc_channel,sd->status.name,job_name(sd->status.class_));
irc_send(send_string);
@@ -82,8 +82,8 @@ void irc_announce_shop(struct map_session_data *sd, int flag) int maplen = 0;
nullpo_retv(sd);
- memset(send_string,'\0',256);
- memset(mapname,'\0',16);
+ malloc_tsetdword(send_string,'\0',256);
+ malloc_tsetdword(mapname,'\0',16);
if(flag){
strcpy(mapname, map[sd->bl.m].name);
@@ -107,8 +107,8 @@ void irc_announce_mvp(struct map_session_data *sd, struct mob_data *md) nullpo_retv(sd);
nullpo_retv(md);
- memset(send_string,'\0',256);
- memset(mapname,'\0',16);
+ malloc_tsetdword(send_string,'\0',256);
+ malloc_tsetdword(mapname,'\0',16);
mapname[15]='\0'; // 15 is the final index, not 16 [Lance]
strcpy(mapname, map[md->bl.m].name);
maplen = strcspn(mapname,".");
@@ -149,7 +149,7 @@ int irc_parse(int fd) int irc_keepalive_timer(int tid, unsigned int tick, int id, int data)
{
char send_string[128];
- memset(send_string,'\0',128);
+ malloc_tsetdword(send_string,'\0',128);
sprintf(send_string,"PRIVMSG %s : ", irc_nick);
irc_send(send_string);
@@ -172,7 +172,7 @@ void irc_send(char *buf) if(!irc_si || !session[irc_si->fd])
return;
- memset(transmit,'\0',4096);
+ malloc_tsetdword(transmit,'\0',4096);
sprintf(transmit,buf);
irc_send_sub(irc_si->fd,transmit);
@@ -200,16 +200,16 @@ void irc_parse_sub(int fd, char *incoming_string) struct map_session_data **allsd;
- memset(source,'\0',256);
- memset(command,'\0',256);
- memset(target,'\0',256);
- memset(message,'\0',8192);
- memset(send_string,'\0',8192);
+ malloc_tsetdword(source,'\0',256);
+ malloc_tsetdword(command,'\0',256);
+ malloc_tsetdword(target,'\0',256);
+ malloc_tsetdword(message,'\0',8192);
+ malloc_tsetdword(send_string,'\0',8192);
- memset(cmd1,'\0',256);
- memset(cmd2,'\0',256);
- memset(cmdname,'\0',256);
- memset(cmdargs,'\0',256);
+ malloc_tsetdword(cmd1,'\0',256);
+ malloc_tsetdword(cmd2,'\0',256);
+ malloc_tsetdword(cmdname,'\0',256);
+ malloc_tsetdword(cmdargs,'\0',256);
sscanf(incoming_string, ":%255s %255s %255s :%4095[^\r\n]", source, command, target, message);
if (source != NULL) {
@@ -364,11 +364,11 @@ int parse_names_packet(char *str) { char channel[256];
char names[1024];
- memset(source,'\0',256);
- memset(numeric,'\0',10);
- memset(target,'\0',256);
- memset(channel,'\0',256);
- memset(names,'\0',1024);
+ malloc_tsetdword(source,'\0',256);
+ malloc_tsetword(numeric,'\0',10);
+ malloc_tsetdword(target,'\0',256);
+ malloc_tsetdword(channel,'\0',256);
+ malloc_tsetdword(names,'\0',1024);
tok=strtok(str,"\r\n");
sscanf(tok,":%255s %10s %255s %*1[=@] %255s :%1023[^\r\n]",source,numeric,target,channel,names);
@@ -471,7 +471,7 @@ int irc_rmnames() { int i=0;
for(i=0;i<=MAX_CHANNEL_USERS;i++) {
- //memset(cd.user[i].name,'\0',256);
+ //malloc_tsetdword(cd.user[i].name,'\0',256);
cd.user[i].level=0;
}
@@ -488,10 +488,10 @@ int irc_read_conf(char *file) { char path[256];
char row[1024];
- memset(w1,'\0',256);
- memset(w2,'\0',256);
- memset(path,'\0',256);
- memset(row,'\0',256);
+ malloc_tsetdword(w1,'\0',256);
+ malloc_tsetdword(w2,'\0',256);
+ malloc_tsetdword(path,'\0',256);
+ malloc_tsetdword(row,'\0',256);
sprintf(path,"conf/%s",file);
diff --git a/src/map/itemdb.c b/src/map/itemdb.c index f4de37cfa..51560f8db 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -209,7 +209,7 @@ static void itemdb_jobid2mapid(unsigned int *bclass, unsigned int jobmask) }
static void create_dummy_data(void) {
- memset(&dummy_item, 0, sizeof(struct item_data));
+ malloc_set(&dummy_item, 0, sizeof(struct item_data));
dummy_item.nameid=500;
dummy_item.weight=1;
dummy_item.value_sell = 1;
@@ -427,7 +427,7 @@ static int itemdb_read_itemavail (void) while (fgets(line, sizeof(line) - 1, fp)) {
if (line[0] == '/' && line[1] == '/')
continue;
- memset(str, 0, sizeof(str));
+ malloc_tsetdword(str, 0, sizeof(str));
for (j = 0, p = line; j < 2 && p; j++) {
str[j] = p;
p = strchr(p, ',');
@@ -481,7 +481,7 @@ static void itemdb_read_itemgroup_sub(const char* filename) continue;
}
}
- memset(str,0,sizeof(str));
+ malloc_tsetdword(str,0,sizeof(str));
for(j=0,p=line;j<3 && p;j++){
str[j]=p;
p=strchr(p,',');
@@ -554,7 +554,7 @@ static void itemdb_read_itemgroup(void) "Gift Box China",
"Lotto Box",
};
- memset(&itemgroup_db, 0, sizeof(itemgroup_db));
+ malloc_tsetdword(&itemgroup_db, 0, sizeof(itemgroup_db));
snprintf(path, 255, "%s/item_group_db.txt", db_path);
itemdb_read_itemgroup_sub(path);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","item_group_db.txt");
@@ -732,7 +732,7 @@ static int itemdb_read_noequip(void) while(fgets(line,1020,fp)){
if(line[0]=='/' && line[1]=='/')
continue;
- memset(str,0,sizeof(str));
+ malloc_tsetdword(str,0,sizeof(str));
for(j=0,p=line;j<2 && p;j++){
str[j]=p;
p=strchr(p,',');
@@ -777,7 +777,7 @@ static int itemdb_read_itemtrade(void) while (fgets(line, sizeof(line) - 1, fp)) {
if (line[0] == '/' && line[1] == '/')
continue;
- memset(str, 0, sizeof(str));
+ malloc_tsetdword(str, 0, sizeof(str));
for (j = 0, p = line; j < 3 && p; j++) {
str[j] = p;
p = strchr(p, ',');
@@ -1032,7 +1032,7 @@ static int itemdb_readdb(void) lines++;
if(line[0]=='/' && line[1]=='/')
continue;
- memset(str,0,sizeof(str));
+ malloc_tsetdword(str,0,sizeof(str));
for(j=0,np=p=line;j<19 && p;j++){
str[j]=p;
p=strchr(p,',');
diff --git a/src/map/log.c b/src/map/log.c index cbcdaf0f7..02a77d0d2 100644 --- a/src/map/log.c +++ b/src/map/log.c @@ -361,7 +361,7 @@ return -1; void log_set_defaults(void)
{
- memset(&log_config, 0, sizeof(log_config));
+ malloc_set(&log_config, 0, sizeof(log_config));
//LOG FILTER Default values
log_config.refine_items_log = 5; //log refined items, with refine >= +7
diff --git a/src/map/map.c b/src/map/map.c index a668ecad8..81e62b875 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -2542,7 +2542,7 @@ static int map_cache_open(char *fn) // 読み甲ンに失敗したので新規に作成する map_cache.fp = fopen(fn,"wb"); if(map_cache.fp) { - memset(&map_cache.head,0,sizeof(struct map_cache_head)); + malloc_set(&map_cache.head,0,sizeof(struct map_cache_head)); map_cache.map = (struct map_cache_info *) aCalloc(sizeof(struct map_cache_info),MAX_MAP_CACHE); map_cache.head.nmaps = MAX_MAP_CACHE; map_cache.head.sizeof_header = sizeof(struct map_cache_head); @@ -3107,7 +3107,7 @@ int map_readallmaps (void) // pre-init some data map[i].alias = NULL; map[i].m = i; - memset (map[i].moblist, 0, sizeof(map[i].moblist)); //Initialize moblist [Skotlex] + malloc_set (map[i].moblist, 0, sizeof(map[i].moblist)); //Initialize moblist [Skotlex] map[i].mob_delete_timer = -1; //Initialize timer [Skotlex] if (battle_config.pk_mode) map[i].flag.pvp = 1; // make all maps pvp for pk_mode [Valaris] @@ -3225,7 +3225,7 @@ int parse_console(char *buf) { int m, n; struct map_session_data sd; - memset(&sd, 0, sizeof(struct map_session_data)); + malloc_set(&sd, 0, sizeof(struct map_session_data)); strcpy( sd.status.name , "console"); if ( ( n = sscanf(buf, "%[^:]:%[^:]:%99s %d %d[^\n]", type , command , map , &x , &y )) < 5 ) diff --git a/src/map/mercenary.c b/src/map/mercenary.c index 152340fc8..5ba260c18 100644 --- a/src/map/mercenary.c +++ b/src/map/mercenary.c @@ -795,7 +795,7 @@ int read_homunculusdb() char *filename[]={"homunculus_db.txt","homunculus_db2.txt"};
char *str[36];
- memset(homunculus_db,0,sizeof(homunculus_db));
+ malloc_set(homunculus_db,0,sizeof(homunculus_db));
for(i = 0; i<2; i++)
{
sprintf(line, "%s/%s", db_path, filename[i]);
@@ -882,7 +882,7 @@ int read_homunculus_skilldb() int j = 0;
char *split[15];
- memset(hskill_tree,0,sizeof(hskill_tree));
+ malloc_tsetdword(hskill_tree,0,sizeof(hskill_tree));
sprintf(line, "%s/homun_skill_tree.txt", db_path);
fp=fopen(line,"r");
if(fp==NULL){
@@ -949,7 +949,7 @@ void read_homunculus_expdb() int i, j=0;
char *filename[]={"exp_homun.txt","exp_homun2.txt"};
- memset(hexptbl,0,sizeof(hexptbl));
+ malloc_tsetdword(hexptbl,0,sizeof(hexptbl));
for(i=0; i<2; i++){
sprintf(line, "%s/%s", db_path, filename[i]);
fp=fopen(line,"r");
diff --git a/src/map/mob.c b/src/map/mob.c index 97e90efda..8c38374ef 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -261,7 +261,7 @@ struct mob_data *mob_once_spawn_sub(struct block_list *bl, int m, { struct spawn_data data; - memset(&data, 0, sizeof(struct spawn_data)); + malloc_set(&data, 0, sizeof(struct spawn_data)); data.m = m; data.num = 1; data.class_ = class_; @@ -450,7 +450,7 @@ int mob_spawn_guardian(struct map_session_data *sd,char *mapname, struct guild *g=NULL; struct guild_castle *gc; int m, count; - memset(&data, 0, sizeof(struct spawn_data)); + malloc_set(&data, 0, sizeof(struct spawn_data)); data.num = 1; if( sd && strcmp(mapname,"this")==0) @@ -655,7 +655,7 @@ int mob_spawn (struct mob_data *md) } } } - memset(&md->state, 0, sizeof(md->state)); + malloc_set(&md->state, 0, sizeof(md->state)); status_calc_mob(md, 1); md->attacked_id = 0; md->attacked_players = 0; @@ -674,10 +674,10 @@ int mob_spawn (struct mob_data *md) for (i = 0, c = tick-1000*3600*10; i < MAX_MOBSKILL; i++) md->skilldelay[i] = c; - memset(md->dmglog, 0, sizeof(md->dmglog)); + malloc_set(md->dmglog, 0, sizeof(md->dmglog)); md->tdmg = 0; if (md->lootitem) - memset(md->lootitem, 0, sizeof(md->lootitem)); + malloc_set(md->lootitem, 0, sizeof(md->lootitem)); md->lootitem_count = 0; if(md->db->option) @@ -1418,7 +1418,7 @@ static int mob_ai_hard(int tid,unsigned int tick,int id,int data) static struct item_drop* mob_setdropitem(int nameid, int qty) { struct item_drop *drop = ers_alloc(item_drop_ers, struct item_drop); - memset(&drop->item_data, 0, sizeof(struct item)); + malloc_set(&drop->item_data, 0, sizeof(struct item)); drop->item_data.nameid = nameid; drop->item_data.amount = qty; drop->item_data.identify = itemdb_isidentified(nameid); @@ -1723,8 +1723,8 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) map_freeblock_lock(); - memset(tmpbl,0,sizeof(tmpbl)); - memset(pt,0,sizeof(pt)); + malloc_tsetdword(tmpbl,0,sizeof(tmpbl)); + malloc_set(pt,0,sizeof(pt)); if(src && src->type == BL_MOB) mob_unlocktarget((struct mob_data *)src,tick); @@ -2075,7 +2075,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) if(temp <= rand()%10000+1) //if ==0, then it doesn't drop continue; - memset(&item,0,sizeof(item)); + malloc_set(&item,0,sizeof(item)); item.nameid=md->db->mvpitem[i].nameid; item.identify= itemdb_isidentified(item.nameid); clif_mvp_item(mvp_sd,item.nameid); @@ -2288,7 +2288,7 @@ int mob_class_change (struct mob_data *md, int class_) status_calc_mob(md, 3); if (battle_config.monster_class_change_full_recover) { - memset(md->dmglog, 0, sizeof(md->dmglog)); + malloc_set(md->dmglog, 0, sizeof(md->dmglog)); md->tdmg = 0; } else { md->status.hp = md->status.max_hp*hp_rate/100; @@ -2392,7 +2392,7 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id) nullpo_retr(0, md2); nullpo_retr(0, value); - memset(&data, 0, sizeof(struct spawn_data)); + malloc_set(&data, 0, sizeof(struct spawn_data)); data.m = md2->bl.m; data.x = md2->bl.x; data.y = md2->bl.y; @@ -2893,7 +2893,7 @@ int mob_clone_spawn(struct map_session_data *sd, int m, int x, int y, const char skill_get_unit_flag(skill_id)&(UF_NOMOB|UF_NOPC)) continue; - memset (&ms[i], 0, sizeof(struct mob_skill)); + malloc_set (&ms[i], 0, sizeof(struct mob_skill)); ms[i].skill_id = skill_id; ms[i].skill_lv = sd->status.skill[skill_id].lv; ms[i].state = MSS_ANY; @@ -3419,7 +3419,7 @@ static int mob_readdb_mobavail(void) while(fgets(line,1020,fp)){ if(line[0]=='/' && line[1]=='/') continue; - memset(str,0,sizeof(str)); + malloc_tsetdword(str,0,sizeof(str)); for(j=0,p=line;j<12;j++){ if((np=strchr(p,','))!=NULL){ @@ -3444,7 +3444,7 @@ static int mob_readdb_mobavail(void) if(k < 0) continue; - memset(&mob_db_data[class_]->vd, 0, sizeof(struct view_data)); + malloc_set(&mob_db_data[class_]->vd, 0, sizeof(struct view_data)); mob_db_data[class_]->vd.class_=k; //Player sprites @@ -3498,7 +3498,7 @@ static int mob_read_randommonster(void) int class_,per; if(line[0] == '/' && line[1] == '/') continue; - memset(str,0,sizeof(str)); + malloc_tsetdword(str,0,sizeof(str)); for(j=0,p=line;j<3 && p;j++){ str[j]=p; p=strchr(p,','); @@ -3623,7 +3623,7 @@ static int mob_readskilldb(void) if(line[0] == '/' && line[1] == '/') continue; - memset(sp,0,sizeof(sp)); + malloc_tsetdword(sp,0,sizeof(sp)); for(i=0,p=line;i<18 && p;i++){ sp[i]=p; if((p=strchr(p,','))!=NULL) @@ -3646,14 +3646,14 @@ static int mob_readskilldb(void) if( strcmp(sp[1],"clear")==0 ){ if (mob_id < 0) continue; - memset(mob_db_data[mob_id]->skill,0,sizeof(struct mob_skill)); + malloc_set(mob_db_data[mob_id]->skill,0,sizeof(struct mob_skill)); mob_db_data[mob_id]->maxskill=0; continue; } if (mob_id < 0) { //Prepare global skill. [Skotlex] - memset(&gms, 0, sizeof (struct mob_skill)); + malloc_set(&gms, 0, sizeof (struct mob_skill)); ms = &gms; } else { for(i=0;i<MAX_MOBSKILL;i++) @@ -3788,7 +3788,7 @@ static int mob_readdb_race(void) while(fgets(line,1020,fp)){ if(line[0]=='/' && line[1]=='/') continue; - memset(str,0,sizeof(str)); + malloc_tsetdword(str,0,sizeof(str)); for(j=0,p=line;j<12;j++){ if((np=strchr(p,','))!=NULL){ @@ -4099,7 +4099,7 @@ void mob_reload(void) for (i = 0; i < MAX_MOB_DB; i++) if (mob_db_data[i]) { - memset(&mob_db_data[i]->skill,0,sizeof(mob_db_data[i]->skill)); + malloc_set(&mob_db_data[i]->skill,0,sizeof(mob_db_data[i]->skill)); mob_db_data[i]->maxskill=0; } mob_readskilldb(); @@ -4112,7 +4112,7 @@ void mob_reload(void) */ int do_init_mob(void) { //Initialize the mob database - memset(mob_db_data,0,sizeof(mob_db_data)); //Clear the array + malloc_set(mob_db_data,0,sizeof(mob_db_data)); //Clear the array mob_db_data[0] = aCalloc(1, sizeof (struct mob_data)); //This mob is used for random spawns mob_makedummymobdb(0); //The first time this is invoked, it creates the dummy mob item_drop_ers = ers_new((uint32)sizeof(struct item_drop)); diff --git a/src/map/npc.c b/src/map/npc.c index 8b1f39b72..cd6e0b997 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1232,7 +1232,7 @@ int npc_buylist(struct map_session_data *sd,int n,unsigned short *item_list) for(i=0;i<n;i++) {
struct item item_tmp;
- memset(&item_tmp,0,sizeof(item_tmp));
+ malloc_set(&item_tmp,0,sizeof(item_tmp));
item_tmp.nameid = item_list[i*2+1];
item_tmp.identify = 1; // npc販売アイテムは鑑定済み
@@ -1797,7 +1797,7 @@ static int npc_skip_script (char *w1,char *w2,char *w3,char *w4,char *first_line if (strlen((char *)srcbuf) + strlen((char *)line) + 1 >= (size_t)srcsize) {
srcsize += 65536;
srcbuf = (unsigned char *)aRealloc(srcbuf, srcsize);
- memset(srcbuf + srcsize - 65536, '\0', 65536);
+ malloc_tsetdword(srcbuf + srcsize - 65536, '\0', 65536);
}
if (srcbuf[0] != '{') {
if (strchr((char *) line,'{')) {
@@ -1861,7 +1861,7 @@ static int npc_parse_script(char *w1,char *w2,char *w3,char *w4,char *first_line if (strlen((char *)srcbuf) + strlen((char *)line) + 1 >= (size_t)srcsize) {
srcsize += 65536;
srcbuf = (unsigned char *)aRealloc(srcbuf, srcsize);
- memset(srcbuf + srcsize - 65536, '\0', 65536);
+ malloc_tsetdword(srcbuf + srcsize - 65536, '\0', 65536);
}
if (srcbuf[0] != '{') {
if (strchr((char *) line,'{')) {
@@ -2097,7 +2097,7 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4, char *fir if (strlen(srcbuf)+strlen(line)+1 >= (unsigned int)srcsize) {
srcsize += 65536;
srcbuf = (char *)aRealloc(srcbuf, srcsize);
- memset(srcbuf + srcsize - 65536, '\0', 65536);
+ malloc_tsetdword(srcbuf + srcsize - 65536, '\0', 65536);
}
if (srcbuf[0]!='{') {
if (strchr(line,'{')) {
@@ -2172,7 +2172,7 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4) char mobname[NAME_LENGTH];
struct spawn_data mob, *data;
- memset(&mob, 0, sizeof(struct spawn_data));
+ malloc_set(&mob, 0, sizeof(struct spawn_data));
// 引数の個数チェック
if (sscanf(w1, "%15[^,],%d,%d,%d,%d", mapname, &x, &y, &xs, &ys) < 3 ||
@@ -2805,7 +2805,7 @@ int npc_reload (void) if(battle_config.dynamic_mobs) { //dynamic check by [random]
for (i = 0; i < MAX_MOB_LIST_PER_MAP; i++)
if (map[m].moblist[i]) aFree(map[m].moblist[i]);
- memset (map[m].moblist, 0, sizeof(map[m].moblist));
+ malloc_set (map[m].moblist, 0, sizeof(map[m].moblist));
}
if (map[m].npc_num > 0 && battle_config.error_log)
ShowWarning("npc_reload: %d npcs weren't removed at map %s!\n", map[m].npc_num, map[m].name);
@@ -2945,7 +2945,7 @@ int do_init_npc(void) char c = '-';
//Stock view data for normal npcs.
- memset(&npc_viewdb, 0, sizeof(npc_viewdb));
+ malloc_set(&npc_viewdb, 0, sizeof(npc_viewdb));
npc_viewdb[0].class_ = INVISIBLE_CLASS; //Invisible class is stored here.
for (busy = 1; busy < MAX_NPC_CLASS; busy++)
npc_viewdb[busy].class_ = busy;
@@ -2959,7 +2959,7 @@ int do_init_npc(void) ev_db = db_alloc(__FILE__,__LINE__,DB_STRING,DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA,51);
npcname_db = db_alloc(__FILE__,__LINE__,DB_STRING,DB_OPT_BASE,NAME_LENGTH);
- memset(&ev_tm_b, -1, sizeof(ev_tm_b));
+ malloc_set(&ev_tm_b, -1, sizeof(ev_tm_b));
timer_event_ers = ers_new((uint32)sizeof(struct timer_event_data));
for (nsl = npc_src_first; nsl; nsl = nsl->next) {
@@ -2993,7 +2993,7 @@ int do_init_npc(void) CL_WHITE"%d"CL_RESET"' Mobs Not Cached\n",
npc_id - START_NPC_NUM, "", npc_warp, npc_shop, npc_script, npc_mob, npc_cache_mob, npc_delay_mob);
- memset(script_event, 0, sizeof(script_event));
+ malloc_set(script_event, 0, sizeof(script_event));
npc_read_event_script();
//Debug function to locate all endless loop warps.
if (battle_config.warp_point_debug)
diff --git a/src/map/party.c b/src/map/party.c index 650b8b7c2..10ab78e5b 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -194,7 +194,7 @@ static void* create_party(DBKey key, va_list args) { static void party_check_state(struct party_data *p)
{
int i;
- memset(&p->state, 0, sizeof(p->state));
+ malloc_set(&p->state, 0, sizeof(p->state));
for (i = 0; i < MAX_PARTY; i ++)
{
if (!p->party.member[i].online) continue; //Those not online shouldn't aport to skill usage and all that.
@@ -230,8 +230,8 @@ int party_recv_info(struct party *sp) if (!p->party.party_id) //party just received.
party_check_member(sp);
memcpy(&p->party,sp,sizeof(struct party));
- memset(&p->state, 0, sizeof(p->state));
- memset(&p->data, 0, sizeof(p->data));
+ malloc_set(&p->state, 0, sizeof(p->state));
+ malloc_set(&p->data, 0, sizeof(p->data));
for(i=0;i<MAX_PARTY;i++){
if (!p->party.member[i].account_id)
continue;
@@ -416,8 +416,8 @@ int party_member_leaved(int party_id,int account_id,int char_id) if(p->party.member[i].account_id==account_id &&
p->party.member[i].char_id==char_id){
clif_party_leaved(p,sd,account_id,p->party.member[i].name,0x00);
- memset(&p->party.member[i], 0, sizeof(p->party.member[0]));
- memset(&p->data[i], 0, sizeof(p->data[0]));
+ malloc_set(&p->party.member[i], 0, sizeof(p->party.member[0]));
+ malloc_set(&p->data[i], 0, sizeof(p->data[0]));
p->party.count--;
party_check_state(p);
break;
@@ -566,7 +566,7 @@ int party_send_logout(struct map_session_data *sd) for(i=0;i<MAX_PARTY && p->data[i].sd != sd;i++);
if (i < MAX_PARTY)
- memset(&p->data[i], 0, sizeof(p->data[0]));
+ malloc_set(&p->data[i], 0, sizeof(p->data[0]));
return 1;
}
diff --git a/src/map/path.c b/src/map/path.c index 8db44feb6..d0f79c3c3 100644 --- a/src/map/path.c +++ b/src/map/path.c @@ -9,6 +9,7 @@ #include "battle.h"
#include "../common/nullpo.h"
#include "../common/showmsg.h"
+#include "../common/malloc.h"
#ifdef MEMWATCH
#include "memwatch.h"
@@ -369,7 +370,7 @@ int path_search_real(struct walkpath_data *wpd,int m,int x0,int y0,int x1,int y1 if(flag&1)
return -1;
- memset(tp,0,sizeof(tp));
+ malloc_set(tp,0,sizeof(tp));
i=calc_index(x0,y0);
tp[i].x=x0;
diff --git a/src/map/pc.c b/src/map/pc.c index 2c78d3370..bde039c83 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1133,7 +1133,7 @@ static int pc_bonus_autospell_del(struct s_autospell *spell, int max, short id, rate-= spell[i].rate; spell[i].rate = 0; memmove(&spell[i], &spell[j], sizeof(struct s_autospell)); - memset(&spell[j], 0, sizeof(struct s_autospell)); + malloc_set(&spell[j], 0, sizeof(struct s_autospell)); j--; } else { spell[i].rate -= rate; @@ -2688,7 +2688,7 @@ int pc_delitem(struct map_session_data *sd,int n,int amount,int type) if(sd->status.inventory[n].amount<=0){ if(sd->status.inventory[n].equip) pc_unequipitem(sd,n,3); - memset(&sd->status.inventory[n],0,sizeof(sd->status.inventory[0])); + malloc_set(&sd->status.inventory[n],0,sizeof(sd->status.inventory[0])); sd->inventory_data[n] = NULL; } if(!(type&1)) @@ -3029,7 +3029,7 @@ int pc_cart_delitem(struct map_session_data *sd,int n,int amount,int type) sd->status.cart[n].amount -= amount; sd->cart_weight -= itemdb_weight(sd->status.cart[n].nameid)*amount ; if(sd->status.cart[n].amount <= 0){ - memset(&sd->status.cart[n],0,sizeof(sd->status.cart[0])); + malloc_set(&sd->status.cart[n],0,sizeof(sd->status.cart[0])); sd->cart_num--; } if(!type) { @@ -3187,7 +3187,7 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl) md->state.steal_flag = UCHAR_MAX; //you can't steal from this mob any more - memset(&tmp_item,0,sizeof(tmp_item)); + malloc_set(&tmp_item,0,sizeof(tmp_item)); tmp_item.nameid = itemid; tmp_item.amount = 1; tmp_item.identify = itemdb_isidentified(itemid); @@ -4885,7 +4885,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) /* if(sd->status.karma > 0) { int eq_num=0,eq_n[MAX_INVENTORY]; - memset(eq_n,0,sizeof(eq_n)); + malloc_set(eq_n,0,sizeof(eq_n)); for(i=0;i<MAX_INVENTORY;i++){ int k; for(k=0;k<MAX_INVENTORY;k++){ @@ -4911,7 +4911,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) || (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp)) { struct item item_tmp; - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=7420; //PVP Skull item ID item_tmp.identify=1; item_tmp.card[0]=CARD0_CREATE; @@ -4993,7 +4993,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) continue; if(id == -1){ int eq_num=0,eq_n[MAX_INVENTORY]; - memset(eq_n,0,sizeof(eq_n)); + malloc_tsetdword(eq_n,0,sizeof(eq_n)); for(i=0;i<MAX_INVENTORY;i++){ int k; if( (type == 1 && !sd->status.inventory[i].equip) @@ -5775,7 +5775,7 @@ int pc_setreg(struct map_session_data *sd,int reg,int val) } sd->reg_num++; sd->reg = (struct script_reg *) aRealloc(sd->reg, sizeof(*(sd->reg)) * sd->reg_num); - memset(sd->reg + (sd->reg_num - 1), 0, sizeof(struct script_reg)); + malloc_set(sd->reg + (sd->reg_num - 1), 0, sizeof(struct script_reg)); sd->reg[i].index = reg; sd->reg[i].data = val; @@ -5825,7 +5825,7 @@ int pc_setregstr(struct map_session_data *sd,int reg,char *str) ShowFatalError("out of memory : pc_setreg\n"); exit(1); } - memset(sd->regstr + (sd->regstr_num - 1), 0, sizeof(struct script_regstr)); + malloc_set(sd->regstr + (sd->regstr_num - 1), 0, sizeof(struct script_regstr)); sd->regstr[i].index = reg; strcpy(sd->regstr[i].data, str); @@ -5953,7 +5953,7 @@ int pc_setregistry(struct map_session_data *sd,char *reg,int val,int type) { if (strcmp(sd_reg[i].str, reg) == 0) { if (i != *max - 1) memcpy(&sd_reg[i], &sd_reg[*max - 1], sizeof(struct global_reg)); - memset(&sd_reg[*max - 1], 0, sizeof(struct global_reg)); + malloc_tsetdword(&sd_reg[*max - 1], 0, sizeof(struct global_reg)); (*max)--; sd->state.reg_dirty |= 1<<(type-1); //Mark this registry as "need to be saved" break; @@ -5972,7 +5972,7 @@ int pc_setregistry(struct map_session_data *sd,char *reg,int val,int type) { // add value if not found if (i < regmax) { - memset(&sd_reg[i], 0, sizeof(struct global_reg)); + malloc_tsetdword(&sd_reg[i], 0, sizeof(struct global_reg)); strncpy(sd_reg[i].str, reg, 32); sprintf(sd_reg[i].value, "%d", val); (*max)++; @@ -6028,7 +6028,7 @@ int pc_setregistry_str(struct map_session_data *sd,char *reg,char *val,int type) if (strcmp(sd_reg[i].str, reg) == 0) { if (i != *max - 1) memcpy(&sd_reg[i], &sd_reg[*max - 1], sizeof(struct global_reg)); - memset(&sd_reg[*max - 1], 0, sizeof(struct global_reg)); + malloc_tsetdword(&sd_reg[*max - 1], 0, sizeof(struct global_reg)); (*max)--; sd->state.reg_dirty |= 1<<(type-1); //Mark this registry as "need to be saved" if (type!=3) intif_saveregistry(sd,type); @@ -6049,7 +6049,7 @@ int pc_setregistry_str(struct map_session_data *sd,char *reg,char *val,int type) // add value if not found if (i < regmax) { - memset(&sd_reg[i], 0, sizeof(struct global_reg)); + malloc_tsetdword(&sd_reg[i], 0, sizeof(struct global_reg)); strncpy(sd_reg[i].str, reg, 32); strncpy(sd_reg[i].value, val, 256); (*max)++; @@ -6482,7 +6482,7 @@ int pc_checkitem(struct map_session_data *sd) j++; } if(j < MAX_INVENTORY) - memset(&sd->status.inventory[j],0,sizeof(struct item)*(MAX_INVENTORY-j)); + malloc_set(&sd->status.inventory[j],0,sizeof(struct item)*(MAX_INVENTORY-j)); for(k=j;k<MAX_INVENTORY;k++) sd->inventory_data[k] = NULL; @@ -6502,7 +6502,7 @@ int pc_checkitem(struct map_session_data *sd) j++; } if(j < MAX_CART) - memset(&sd->status.cart[j],0,sizeof(struct item)*(MAX_CART-j)); + malloc_set(&sd->status.cart[j],0,sizeof(struct item)*(MAX_CART-j)); // ? 備位置チェック @@ -7021,8 +7021,8 @@ int pc_readdb(void) char line[24000],*p; // 必要??値?み?み - memset(exp_table,0,sizeof(exp_table)); - memset(max_level,0,sizeof(max_level)); + malloc_tsetword(exp_table,0,sizeof(exp_table)); + malloc_tsetword(max_level,0,sizeof(max_level)); sprintf(line, "%s/exp.txt", db_path); fp=fopen(line, "r"); if(fp==NULL){ @@ -7095,7 +7095,7 @@ int pc_readdb(void) ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","exp.txt"); // スキルツリ? - memset(skill_tree,0,sizeof(skill_tree)); + malloc_set(skill_tree,0,sizeof(skill_tree)); sprintf(line, "%s/skill_tree.txt", db_path); fp=fopen(line,"r"); if(fp==NULL){ @@ -7189,7 +7189,7 @@ int pc_readdb(void) ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","attr_fix.txt"); // スキルツリ? - memset(statp,0,sizeof(statp)); + malloc_set(statp,0,sizeof(statp)); i=1; j=45; // base points sprintf(line, "%s/statpoint.txt", db_path); @@ -7225,7 +7225,7 @@ int pc_read_motd(void) { FILE *fp; int ln=0,i=0; - memset(motd_text,0,sizeof(motd_text)); + malloc_set(motd_text,0,sizeof(motd_text)); if ((fp = fopen(motd_txt, "r")) != NULL) { while ((ln < MOTD_LINE_SIZE) && fgets(motd_text[ln], sizeof(motd_text[ln])-1, fp) != NULL) { if(motd_text[ln][0] == '/' && motd_text[ln][1] == '/') diff --git a/src/map/pet.c b/src/map/pet.c index b54f5cf6f..cf5266047 100644 --- a/src/map/pet.c +++ b/src/map/pet.c @@ -343,7 +343,7 @@ static int pet_return_egg(struct map_session_data *sd, struct pet_data *pd) int flag;
pet_lootitem_drop(pd,sd);
- memset(&tmp_item,0,sizeof(tmp_item));
+ malloc_set(&tmp_item,0,sizeof(tmp_item));
tmp_item.nameid = pd->petDB->EggID;
tmp_item.identify = 1;
tmp_item.card[0] = CARD0_PET;
@@ -633,7 +633,7 @@ int pet_get_egg(int account_id,int pet_id,int flag) return 0;
}
- memset(&tmp_item,0,sizeof(tmp_item));
+ malloc_set(&tmp_item,0,sizeof(tmp_item));
tmp_item.nameid = pet_db[i].EggID;
tmp_item.identify = 1;
tmp_item.card[0] = CARD0_PET;
@@ -761,7 +761,7 @@ static int pet_unequipitem(struct map_session_data *sd, struct pet_data *pd) pd->pet.equip = 0;
status_set_viewdata(&pd->bl, pd->pet.class_);
clif_pet_equip(pd);
- memset(&tmp_item,0,sizeof(tmp_item));
+ malloc_set(&tmp_item,0,sizeof(tmp_item));
tmp_item.nameid = nameid;
tmp_item.identify = 1;
if((flag = pc_additem(sd,&tmp_item,1))) {
@@ -1080,7 +1080,7 @@ int pet_lootitem_drop(struct pet_data *pd,struct map_session_data *sd) }
}
//The smart thing to do is use pd->loot->max (thanks for pointing it out, Shinomori)
- memset(pd->loot->item,0,pd->loot->max * sizeof(struct item));
+ malloc_set(pd->loot->item,0,pd->loot->max * sizeof(struct item));
pd->loot->count = 0;
pd->loot->weight = 0;
pd->ud.canact_tick = gettick()+10000; // 10*1000msの間拾わない
@@ -1278,7 +1278,7 @@ int read_petdb() pet_db[j].script = NULL;
}
j = 0;
- memset(pet_db,0,sizeof(pet_db));
+ malloc_set(pet_db,0,sizeof(pet_db));
for(i=0;i<2;i++){
sprintf(line, "%s/%s", db_path, filename[i]);
fp=fopen(line,"r");
@@ -1354,7 +1354,7 @@ int read_petdb() */
int do_init_pet(void)
{
- memset(pet_db,0,sizeof(pet_db));
+ malloc_set(pet_db,0,sizeof(pet_db));
read_petdb();
item_drop_ers = ers_new((uint32)sizeof(struct item_drop));
diff --git a/src/map/script.c b/src/map/script.c index 90723cc60..419ea5969 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -307,12 +307,12 @@ int add_str(const unsigned char *p) if(str_num>=str_data_size){ str_data_size+=128; str_data=aRealloc(str_data,sizeof(str_data[0])*str_data_size); - memset(str_data + (str_data_size - 128), '\0', 128); + malloc_tsetdword(str_data + (str_data_size - 128), '\0', 128); } while(str_pos+(int)strlen((char *) p)+1>=str_size){ str_size+=256; str_buf=(char *)aRealloc(str_buf,str_size); - memset(str_buf + (str_size - 256), '\0', 256); + malloc_tsetdword(str_buf + (str_size - 256), '\0', 256); } strcpy(str_buf+str_pos, (char *) p); str_data[str_num].type=C_NOP; @@ -335,7 +335,7 @@ static void check_script_buf(int size) if(script_pos+size>=script_size){ script_size+=SCRIPT_BLOCK_SIZE; script_buf=(unsigned char *)aRealloc(script_buf,script_size); - memset(script_buf + script_size - SCRIPT_BLOCK_SIZE, '\0', + malloc_tsetdword(script_buf + script_size - SCRIPT_BLOCK_SIZE, '\0', SCRIPT_BLOCK_SIZE); } } @@ -1575,7 +1575,7 @@ struct script_code* parse_script(unsigned char *src,const char *file,int line) struct script_code *code; static int first=1; - memset(&syntax,0,sizeof(syntax)); + malloc_set(&syntax,0,sizeof(syntax)); if(first){ add_buildin_func(); read_constdb(); @@ -1967,7 +1967,7 @@ void push_val(struct script_stack *stack,int type,int val) stack->sp_max += 64; stack->stack_data = (struct script_data *)aRealloc(stack->stack_data, sizeof(stack->stack_data[0]) * stack->sp_max); - memset(stack->stack_data + (stack->sp_max - 64), 0, + malloc_tsetdword(stack->stack_data + (stack->sp_max - 64), 0, 64 * sizeof(*(stack->stack_data))); } // if(battle_config.etc_log) @@ -1998,7 +1998,7 @@ void push_str(struct script_stack *stack,int type,unsigned char *str) stack->sp_max += 64; stack->stack_data = (struct script_data *)aRealloc(stack->stack_data, sizeof(stack->stack_data[0]) * stack->sp_max); - memset(stack->stack_data + (stack->sp_max - 64), '\0', + malloc_tsetdword(stack->stack_data + (stack->sp_max - 64), '\0', 64 * sizeof(*(stack->stack_data))); } // if(battle_config.etc_log) @@ -3149,7 +3149,7 @@ int script_config_read_sub(char *cfgName) int script_config_read(char *cfgName) { //Script related variables should be initialized once! [Skotlex] - memset (&script_config, 0, sizeof(script_config)); + malloc_set (&script_config, 0, sizeof(script_config)); script_config.verbose_mode = 0; script_config.warn_func_no_comma = 1; script_config.warn_cmd_no_comma = 1; @@ -5136,7 +5136,7 @@ int buildin_getitem(struct script_state *st) return 1; //No item created. } - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=nameid; if(!flag) item_tmp.identify=1; @@ -5207,7 +5207,7 @@ int buildin_getitem2(struct script_state *st) } if(nameid > 0) { - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_data=itemdb_exists(nameid); if (item_data == NULL) return -1; @@ -5301,7 +5301,7 @@ int buildin_getnameditem(struct script_state *st) return 0; } - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=nameid; item_tmp.amount=1; item_tmp.identify=1; @@ -5378,7 +5378,7 @@ int buildin_makeitem(struct script_state *st) } if(nameid > 0) { - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=nameid; if(!flag) item_tmp.identify=1; @@ -10023,7 +10023,7 @@ int buildin_atcommand(struct script_state *st) else { //Use a dummy character. struct map_session_data dummy_sd; struct block_list *bl = NULL; - memset(&dummy_sd, 0, sizeof(struct map_session_data)); + malloc_set(&dummy_sd, 0, sizeof(struct map_session_data)); if (st->oid) bl = map_id2bl(st->oid); if (bl) { memcpy(&dummy_sd.bl, bl, sizeof(struct block_list)); @@ -10050,7 +10050,7 @@ int buildin_charcommand(struct script_state *st) else { //Use a dummy character. struct map_session_data dummy_sd; struct block_list *bl = NULL; - memset(&dummy_sd, 0, sizeof(struct map_session_data)); + malloc_set(&dummy_sd, 0, sizeof(struct map_session_data)); if (st->oid) bl = map_id2bl(st->oid); if (bl) { memcpy(&dummy_sd.bl, bl, sizeof(struct block_list)); @@ -10528,7 +10528,7 @@ int buildin_getmapxy(struct script_state *st){ int x,y,type; char mapname[MAP_NAME_LENGTH+1]; - memset(mapname, 0, sizeof(mapname)); + malloc_set(mapname, 0, sizeof(mapname)); if( st->stack->stack_data[st->start+2].type!=C_NAME ){ ShowWarning("script: buildin_getmapxy: not mapname variable\n"); @@ -11253,7 +11253,7 @@ int buildin_query_sql(struct script_state *st) { return 1; } - memset(row, 0, sizeof(row)); + malloc_set(row, 0, sizeof(row)); // Verify argument types for(j=0; j < nb_rows; j++) { @@ -11429,7 +11429,7 @@ int buildin_npcshopitem(struct script_state *st) sizeof(nd->u.shop_item[0]) * amount); // Reset sell list. - memset(nd->u.shop_item, 0, sizeof(nd->u.shop_item[0]) * amount); + malloc_set(nd->u.shop_item, 0, sizeof(nd->u.shop_item[0]) * amount); n = 0; diff --git a/src/map/skill.c b/src/map/skill.c index fc8d29068..c8526160e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4398,8 +4398,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in struct item item_tmp; struct block_list tbl; clif_skill_nodamage(src,bl,skillid,skilllv,1); - memset(&item_tmp,0,sizeof(item_tmp)); - memset(&tbl,0,sizeof(tbl)); // [MouseJstr] + malloc_set(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&tbl,0,sizeof(tbl)); // [MouseJstr] item_tmp.nameid = 7049; item_tmp.identify = 1; tbl.id = 0; @@ -5029,7 +5029,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in if(battle_config.skill_removetrap_type){ for(i=0;i<10;i++) { if(skill_db[su->group->skill_id].itemid[i] > 0){ - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = skill_db[su->group->skill_id].itemid[i]; item_tmp.identify = 1; if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i]))){ @@ -5039,7 +5039,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in } } }else{ - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = 1065; item_tmp.identify = 1; if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,1))){ @@ -7744,7 +7744,7 @@ int skill_check_pc_partner (struct map_session_data *sd, int skill_id, int* skil } //Else: new search for partners. c = 0; - memset (p_sd, 0, sizeof(p_sd)); + malloc_tsetdword (p_sd, 0, sizeof(p_sd)); i = map_foreachinrange(skill_check_condition_char_sub, &sd->bl, range, BL_PC, &sd->bl, &c, &p_sd, skill_id); @@ -9987,7 +9987,7 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) if(src && src->type==BL_PC && !group->state.into_abyss) { //Avoid generating trap items when it did not cost to create them. [Skotlex] struct item item_tmp; - memset(&item_tmp,0,sizeof(item_tmp)); + malloc_set(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=1065; item_tmp.identify=1; map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,NULL,NULL,NULL,0); @@ -10163,7 +10163,7 @@ int skill_unit_move (struct block_list *bl, unsigned int tick, int flag) if (flag&2 && !(flag&1)) { //Onout, clear data - memset (&skill_unit_temp,0,sizeof(skill_unit_temp)); + malloc_tsetdword (&skill_unit_temp,0,sizeof(skill_unit_temp)); skill_unit_index=0; } @@ -10528,7 +10528,7 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in if(rand()%10000 < make_per || qty > 1){ //Success, or crafting multiple items. struct item tmp_item; - memset(&tmp_item,0,sizeof(tmp_item)); + malloc_set(&tmp_item,0,sizeof(tmp_item)); tmp_item.nameid=nameid; tmp_item.amount=1; tmp_item.identify=1; @@ -10696,7 +10696,7 @@ int skill_arrow_create (struct map_session_data *sd, int nameid) pc_delitem(sd,j,1,0); for(i=0;i<5;i++) { - memset(&tmp_item,0,sizeof(tmp_item)); + malloc_set(&tmp_item,0,sizeof(tmp_item)); tmp_item.identify = 1; tmp_item.nameid = skill_arrow_db[index].cre_id[i]; tmp_item.amount = skill_arrow_db[index].cre_amount[i]; @@ -10845,7 +10845,7 @@ void skill_init_unit_layout (void) { int i,j,size,pos = 0; - memset(skill_unit_layout,0,sizeof(skill_unit_layout)); + malloc_set(skill_unit_layout,0,sizeof(skill_unit_layout)); for (i=0; i<=MAX_SQUARE_LAYOUT; i++) { size = i*2+1; skill_unit_layout[i].count = size*size; @@ -11081,7 +11081,7 @@ int skill_readdb (void) char line[1024],path[1024],*p; char *filename[]={"produce_db.txt","produce_db2.txt"}; - memset(skill_db,0,sizeof(skill_db)); + malloc_set(skill_db,0,sizeof(skill_db)); sprintf(path, "%s/skill_db.txt", db_path); fp=fopen(path,"r"); if(fp==NULL){ @@ -11236,7 +11236,7 @@ int skill_readdb (void) while(fgets(line,1020,fp)){ char *split[50]; l++; - memset(split,0,sizeof(split)); // [Valaris] thanks to fov + malloc_tsetdword(split,0,sizeof(split)); // [Valaris] thanks to fov if(line[0]=='/' && line[1]=='/') continue; j = skill_split_str(line,split,6); @@ -11321,7 +11321,7 @@ int skill_readdb (void) ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path); skill_init_unit_layout(); - memset(skill_produce_db,0,sizeof(skill_produce_db)); + malloc_set(skill_produce_db,0,sizeof(skill_produce_db)); for(m=0;m<2;m++){ sprintf(path, "%s/%s", db_path, filename[m]); fp=fopen(path,"r"); @@ -11337,7 +11337,7 @@ int skill_readdb (void) int x,y; if(line[0]=='/' && line[1]=='/') continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); j = skill_split_str(line,split,(3 + MAX_PRODUCE_RESOURCE * 2)); if(split[0]==0) //fixed by Lupus continue; @@ -11360,7 +11360,7 @@ int skill_readdb (void) ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path); } - memset(skill_arrow_db,0,sizeof(skill_arrow_db)); + malloc_set(skill_arrow_db,0,sizeof(skill_arrow_db)); sprintf(path, "%s/create_arrow_db.txt", db_path); fp=fopen(path,"r"); @@ -11374,7 +11374,7 @@ int skill_readdb (void) int x,y; if(line[0]=='/' && line[1]=='/') continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); j = skill_split_str(line,split,13); if(split[0]==0) //fixed by Lupus continue; @@ -11395,7 +11395,7 @@ int skill_readdb (void) fclose(fp); ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path); - memset(skill_abra_db,0,sizeof(skill_abra_db)); + malloc_set(skill_abra_db,0,sizeof(skill_abra_db)); sprintf(path, "%s/abra_db.txt", db_path); fp=fopen(path,"r"); if(fp==NULL){ @@ -11407,7 +11407,7 @@ int skill_readdb (void) char *split[16]; if(line[0]=='/' && line[1]=='/') continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); j = skill_split_str(line,split,13); if(split[0]==0) //fixed by Lupus continue; @@ -11435,7 +11435,7 @@ int skill_readdb (void) char *split[50]; if(line[0]=='/' && line[1]=='/') continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); j = skill_split_str(line,split,3); if(split[0]==0) //fixed by Lupus continue; @@ -11464,7 +11464,7 @@ int skill_readdb (void) char *split[16]; if(line[0]=='/' && line[1]=='/') continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); j = skill_split_str(line,split,2); if(split[0]==0) //fixed by Lupus continue; diff --git a/src/map/status.c b/src/map/status.c index 8f8da8098..12a20a335 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -95,8 +95,8 @@ void initChangeTables(void) { StatusIconChangeTable[i] = SI_BLANK; for (i = 0; i < MAX_SKILL; i++) SkillStatusChangeTableArray[i] = -1; - memset(StatusSkillChangeTable, 0, sizeof(StatusSkillChangeTable)); - memset(StatusChangeFlagTable, 0, sizeof(StatusChangeFlagTable)); + malloc_set(StatusSkillChangeTable, 0, sizeof(StatusSkillChangeTable)); + malloc_set(StatusChangeFlagTable, 0, sizeof(StatusChangeFlagTable)); //First we define the skill for common ailments. These are used in //skill_additional_effect through sc cards. [Skotlex] @@ -471,7 +471,7 @@ int SkillStatusChangeTable(int skill) } int StatusIconChangeTable[SC_MAX]; //Stores the icon that should be associated to this status change. static void initDummyData(void) { - memset(&dummy_status, 0, sizeof(dummy_status)); + malloc_set(&dummy_status, 0, sizeof(dummy_status)); dummy_status.hp = dummy_status.max_hp = dummy_status.max_sp = @@ -709,11 +709,11 @@ int status_damage(struct block_list *src,struct block_list *target,int hp, int s { //Reset regen ticks. struct regen_data *regen = status_get_regen_data(target); if (regen) { - memset(®en->tick, 0, sizeof(regen->tick)); + malloc_set(®en->tick, 0, sizeof(regen->tick)); if (regen->sregen) - memset(®en->sregen->tick, 0, sizeof(regen->sregen->tick)); + malloc_set(®en->sregen->tick, 0, sizeof(regen->sregen->tick)); if (regen->ssregen) - memset(®en->ssregen->tick, 0, sizeof(regen->ssregen->tick)); + malloc_set(®en->ssregen->tick, 0, sizeof(regen->ssregen->tick)); } } if(flag&4) //Delete from memory. (also invokes map removal code) @@ -1559,7 +1559,7 @@ int status_calc_pc(struct map_session_data* sd,int first) // zeroed arays, order follows the order in map.h. // add new arrays to the end of zeroed area in map.h (see comments) and size here. [zzo] - memset (sd->param_bonus, 0, sizeof(sd->param_bonus) + malloc_set (sd->param_bonus, 0, sizeof(sd->param_bonus) + sizeof(sd->param_equip) + sizeof(sd->subele) + sizeof(sd->subrace) @@ -1582,12 +1582,12 @@ int status_calc_pc(struct map_session_data* sd,int first) + sizeof(sd->sp_gain_race) ); - memset (&sd->right_weapon.overrefine, 0, sizeof(sd->right_weapon) - sizeof(sd->right_weapon.atkmods)); - memset (&sd->left_weapon.overrefine, 0, sizeof(sd->left_weapon) - sizeof(sd->left_weapon.atkmods)); + malloc_set (&sd->right_weapon.overrefine, 0, sizeof(sd->right_weapon) - sizeof(sd->right_weapon.atkmods)); + malloc_set (&sd->left_weapon.overrefine, 0, sizeof(sd->left_weapon) - sizeof(sd->left_weapon.atkmods)); - memset(&sd->special_state,0,sizeof(sd->special_state)); - memset(&status->max_hp, 0, sizeof(struct status_data)-(sizeof(status->hp)+sizeof(status->sp)+sizeof(status->lhw))); - memset(status->lhw, 0, sizeof(struct weapon_atk)); + malloc_set(&sd->special_state,0,sizeof(sd->special_state)); + malloc_set(&status->max_hp, 0, sizeof(struct status_data)-(sizeof(status->hp)+sizeof(status->sp)+sizeof(status->lhw))); + malloc_set(status->lhw, 0, sizeof(struct weapon_atk)); //FIXME: Most of these stuff should be calculated once, but how do I fix the memset above to do that? [Skotlex] status->speed = DEFAULT_WALK_SPEED; @@ -1606,7 +1606,7 @@ int status_calc_pc(struct map_session_data* sd,int first) status->race = RC_DEMIHUMAN; //zero up structures... - memset(&sd->autospell,0,sizeof(sd->autospell) + malloc_set(&sd->autospell,0,sizeof(sd->autospell) + sizeof(sd->autospell2) + sizeof(sd->addeff) + sizeof(sd->addeff2) @@ -1621,7 +1621,7 @@ int status_calc_pc(struct map_session_data* sd,int first) ); // vars zeroing. ints, shorts, chars. in that order. - memset (&sd->arrow_atk, 0,sizeof(sd->arrow_atk) + malloc_set (&sd->arrow_atk, 0,sizeof(sd->arrow_atk) + sizeof(sd->arrow_ele) + sizeof(sd->arrow_cri) + sizeof(sd->arrow_hit) @@ -1764,7 +1764,7 @@ int status_calc_pc(struct map_session_data* sd,int first) //Store equipment script bonuses memcpy(sd->param_equip,sd->param_bonus,sizeof(sd->param_equip)); - memset(sd->param_bonus, 0, sizeof(sd->param_bonus)); + malloc_set(sd->param_bonus, 0, sizeof(sd->param_bonus)); status->def += (refinedef+50)/100; @@ -4226,7 +4226,7 @@ void status_change_init(struct block_list *bl) struct status_change *sc = status_get_sc(bl); int i; nullpo_retv(sc); - memset(sc, 0, sizeof (struct status_change)); + malloc_set(sc, 0, sizeof (struct status_change)); for (i=0; i< SC_MAX; i++) sc->data[i].timer = -1; } @@ -7018,7 +7018,7 @@ static int status_calc_sigma(void) unsigned int k; for(i=0;i<MAX_PC_CLASS;i++) { - memset(hp_sigma_val[i],0,sizeof(hp_sigma_val[i])); + malloc_tsetdword(hp_sigma_val[i],0,sizeof(hp_sigma_val[i])); for(k=0,j=2;j<=MAX_LEVEL;j++) { k += hp_coefficient[i]*j + 50; k -= k%100; @@ -7072,7 +7072,7 @@ int status_readdb(void) { fclose(fp); ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path); - memset(job_bonus,0,sizeof(job_bonus)); // Job-specific stats bonus + malloc_tsetdword(job_bonus,0,sizeof(job_bonus)); // Job-specific stats bonus sprintf(path, "%s/job_db2.txt", db_path); fp=fopen(path,"r"); if(fp==NULL){ @@ -7113,7 +7113,7 @@ int status_readdb(void) { continue; if(atoi(line)<=0) continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); for(j=0,p=line;j<MAX_WEAPON_TYPE && p;j++){ split[j]=p; p=strchr(p,','); @@ -7148,7 +7148,7 @@ int status_readdb(void) { continue; if(atoi(line)<=0) continue; - memset(split,0,sizeof(split)); + malloc_tsetdword(split,0,sizeof(split)); for(j=0,p=line;j<MAX_REFINE+4 && p;j++){ split[j]=p; p=strchr(p,','); diff --git a/src/map/storage.c b/src/map/storage.c index bf018dc90..6f504eab3 100644 --- a/src/map/storage.c +++ b/src/map/storage.c @@ -218,7 +218,7 @@ static int storage_delitem(struct map_session_data *sd,struct storage *stor,int stor->storage_[n].amount-=amount;
if(stor->storage_[n].amount==0){
- memset(&stor->storage_[n],0,sizeof(stor->storage_[0]));
+ malloc_set(&stor->storage_[n],0,sizeof(stor->storage_[0]));
stor->storage_amount--;
clif_updatestorageamount(sd,stor);
}
@@ -566,7 +566,7 @@ int guild_storage_delitem(struct map_session_data *sd,struct guild_storage *stor stor->storage_[n].amount-=amount;
if(stor->storage_[n].amount==0){
- memset(&stor->storage_[n],0,sizeof(stor->storage_[0]));
+ malloc_set(&stor->storage_[n],0,sizeof(stor->storage_[0]));
stor->storage_amount--;
clif_updateguildstorageamount(sd,stor);
}
diff --git a/src/map/trade.c b/src/map/trade.c index 6c8675d2b..fe695d695 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -17,6 +17,7 @@ #include "intif.h"
#include "atcommand.h"
#include "log.h"
+#include "../common/malloc.h"
/*==========================================
@@ -114,8 +115,8 @@ void trade_tradeack(struct map_session_data *sd, int type) { if (type == 3) { //Initiate trade
sd->state.trading = 1;
target_sd->state.trading = 1;
- memset(&sd->deal, 0, sizeof(sd->deal));
- memset(&target_sd->deal, 0, sizeof(target_sd->deal));
+ malloc_set(&sd->deal, 0, sizeof(sd->deal));
+ malloc_set(&target_sd->deal, 0, sizeof(target_sd->deal));
clif_tradestart(target_sd, type);
clif_tradestart(sd, type);
if (sd->npc_id)
@@ -152,7 +153,7 @@ int impossible_trade_check(struct map_session_data *sd) { // remove equiped items (they can not be trade)
for (i = 0; i < MAX_INVENTORY; i++)
if (inventory[i].nameid > 0 && inventory[i].equip && !(inventory[i].equip & EQP_AMMO))
- memset(&inventory[i], 0, sizeof(struct item));
+ malloc_set(&inventory[i], 0, sizeof(struct item));
// check items in player inventory
for(i = 0; i < 10; i++) {
@@ -230,7 +231,7 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd) { inventory[n].amount -= amount;
//let's not make room, as pc_additem is done before pc_delitem, so it could lead to problems depending on order.
// if (!inventory[n].amount)
-// memset(&inventory[n], 0, sizeof(struct item));
+// malloc_set(&inventory[n], 0, sizeof(struct item));
break;
}
}
@@ -243,7 +244,7 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd) { inventory2[i].amount = amount;
inventory[n].amount -= amount;
// if (!inventory[n].amount)
-// memset(&inventory[n], 0, sizeof(struct item));
+// malloc_set(&inventory[n], 0, sizeof(struct item));
}
}
amount = tsd->deal.item[trade_i].amount;
@@ -265,7 +266,7 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd) { inventory[i].amount += amount;
inventory2[n].amount -= amount;
// if (!inventory2[n].amount)
-// memset(&inventory2[n], 0, sizeof(struct item));
+// malloc_set(&inventory2[n], 0, sizeof(struct item));
break;
}
}
@@ -277,7 +278,7 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd) { inventory[i].amount = amount;
inventory2[n].amount -= amount;
// if (!inventory2[n].amount)
-// memset(&inventory2[n], 0, sizeof(struct item));
+// malloc_set(&inventory2[n], 0, sizeof(struct item));
}
}
diff --git a/src/map/unit.c b/src/map/unit.c index af77ce7f9..13959e5cd 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1389,7 +1389,7 @@ void unit_dataset(struct block_list *bl) { struct unit_data *ud; nullpo_retv(ud = unit_bl2ud(bl)); - memset( ud, 0, sizeof( struct unit_data) ); + malloc_set( ud, 0, sizeof( struct unit_data) ); ud->bl = bl; ud->walktimer = -1; ud->skilltimer = -1; diff --git a/vcproj-7.1/char-server_txt.vcproj b/vcproj-7.1/char-server_txt.vcproj index 896bdac08..1d623cf05 100644 --- a/vcproj-7.1/char-server_txt.vcproj +++ b/vcproj-7.1/char-server_txt.vcproj @@ -165,8 +165,7 @@ RelativePath="..\src\char\int_pet.c">
</File>
<File
- RelativePath="..\src\char\int_pet.c"
- >
+ RelativePath="..\src\char\int_pet.c">
</File>
<File
RelativePath="..\src\char\int_status.c">
@@ -239,6 +238,9 @@ RelativePath="..\src\char\int_guild.h">
</File>
<File
+ RelativePath="..\src\char\int_homun.c">
+ </File>
+ <File
RelativePath="..\src\char\int_party.h">
</File>
<File
|