Kaynağa Gözat

update

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@863 54d463be-8e91-2dee-dedb-b68131a5f0ec
amber 20 yıl önce
ebeveyn
işleme
169ddd77b8
4 değiştirilmiş dosya ile 16 ekleme ve 2 silme
  1. 2 0
      Changelog.txt
  2. 2 0
      src/common/malloc.c
  3. 11 1
      src/common/malloc.h
  4. 1 1
      src/map/pet.c

+ 2 - 0
Changelog.txt

@@ -1,5 +1,7 @@
 Date	Added
 12/29
+	* Fixing a crash if you change the name of a pet you don't have (SVN 862) [MouseJstr]
+	* Eliminated src/common/malloc.c when not needed [MouseJstr]
 	* Some code cleanup in prep for new debugging malloc (SVN 861) [MouseJstr]
         * Updated Soul Breaker's damage calculation [celest]
         * Updated Meteor Assault's cast delay to be not affected by dex [celest]

+ 2 - 0
src/common/malloc.c

@@ -1,3 +1,4 @@
+#if !defined(DMALLOC) && !defined(GCOLLECT) && !defined(BCHECK)
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -49,3 +50,4 @@ void * _bcalloc(size_t size, size_t cnt) {
 	memset(ret, 0, size * cnt);
 	return ret;
 }
+#endif

+ 11 - 1
src/common/malloc.h

@@ -3,8 +3,18 @@
 
 #include <stdlib.h>
 
-#if defined(GCOLLECT)
+#if defined(DMALLOC)
 
+#include "dmalloc.h"
+
+#define aMalloc(size) \
+  dmalloc_malloc(__FILE__, __LINE__, (size), DMALLOC_FUNC_MALLOC, 0, 0)
+#define aCalloc(count,size) \
+  dmalloc_malloc(__FILE__, __LINE__, (count)*(size), DMALLOC_FUNC_CALLOC, 0, 0)
+#define aRealloc(ptr,size) \
+  dmalloc_realloc(__FILE__, __LINE__, (ptr), (size), DMALLOC_FUNC_REALLOC, 0)
+
+#elif defined(GCOLLECT)
 #include "gc.h"
 #define aMalloc(n) GC_MALLOC(n)
 #define aCalloc(m,n) _bcalloc(m,n)

+ 1 - 1
src/map/pet.c

@@ -955,7 +955,7 @@ int pet_change_name(struct map_session_data *sd,char *name)
 	
 	nullpo_retr(1, sd);
 
-	if(sd->pet.rename_flag == 1 && battle_config.pet_rename == 0)
+	if((sd->pd == NULL) || (sd->pet.rename_flag == 1 && battle_config.pet_rename == 0))
 		return 1;
 
 	for(i=0;i<24 && name[i];i++){