Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/guardedalloc')
-rw-r--r--intern/guardedalloc/MEM_guardedalloc.h13
-rw-r--r--intern/guardedalloc/intern/mallocn.c19
2 files changed, 28 insertions, 4 deletions
diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h
index d49dc4b4dd9..764340beb71 100644
--- a/intern/guardedalloc/MEM_guardedalloc.h
+++ b/intern/guardedalloc/MEM_guardedalloc.h
@@ -102,6 +102,19 @@ extern "C" {
#endif
;
+ void *MEM_reallocN_id(void *vmemh, size_t len, const char *str)
+#if MEM_GNU_ATTRIBUTES
+ __attribute__((warn_unused_result))
+ __attribute__((alloc_size(2)))
+#endif
+ ;
+ void *MEM_recallocN_id(void *vmemh, size_t len, const char *str)
+#if MEM_GNU_ATTRIBUTES
+ __attribute__((warn_unused_result))
+ __attribute__((alloc_size(2)))
+#endif
+ ;
+
/**
* Reallocates a block of memory, and returns pointer to the newly
* allocated block, the old one is freed. this is not as optimized
diff --git a/intern/guardedalloc/intern/mallocn.c b/intern/guardedalloc/intern/mallocn.c
index 4a72089f8f7..3a37b03ece4 100644
--- a/intern/guardedalloc/intern/mallocn.c
+++ b/intern/guardedalloc/intern/mallocn.c
@@ -371,7 +371,7 @@ void *MEM_dupallocN(const void *vmemh)
return newp;
}
-void *MEM_reallocN(void *vmemh, size_t len)
+void *MEM_reallocN_id(void *vmemh, size_t len, const char *str)
{
void *newp = NULL;
@@ -394,13 +394,13 @@ void *MEM_reallocN(void *vmemh, size_t len)
MEM_freeN(vmemh);
}
else {
- newp = MEM_mallocN(len, __func__);
+ newp = MEM_mallocN(len, str);
}
return newp;
}
-void *MEM_recallocN(void *vmemh, size_t len)
+void *MEM_recallocN_id(void *vmemh, size_t len, const char *str)
{
void *newp = NULL;
@@ -428,12 +428,23 @@ void *MEM_recallocN(void *vmemh, size_t len)
MEM_freeN(vmemh);
}
else {
- newp = MEM_callocN(len, __func__);
+ newp = MEM_callocN(len, str);
}
return newp;
}
+
+void *MEM_reallocN(void *vmemh, size_t len)
+{
+ return MEM_reallocN_id(vmemh, len, __func__);
+}
+void *MEM_recallocN(void *vmemh, size_t len)
+{
+ return MEM_recallocN_id(vmemh, len, __func__);
+}
+
+
#ifdef DEBUG_BACKTRACE
# if defined(__linux__) || defined(__APPLE__)
static void make_memhead_backtrace(MemHead *memh)