forked from bartvdbraak/blender
Fix inconsistent use of print_error() and fprintf(stderr, ...) in MEM_guarded_printmemlist_internal().
Also extended the size of buf[] in print_error() to prevent mem_printmemlist_pydict_script[] from getting truncated when MEM_printmemlist_pydict() is used. Differential revision: https://developer.blender.org/D675 Reviewed by: Campbell Barton
This commit is contained in:
parent
c0a9337caa
commit
af585e843b
@ -231,7 +231,7 @@ __attribute__ ((format(printf, 1, 2)))
|
|||||||
#endif
|
#endif
|
||||||
static void print_error(const char *str, ...)
|
static void print_error(const char *str, ...)
|
||||||
{
|
{
|
||||||
char buf[512];
|
char buf[1024];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, str);
|
va_start(ap, str);
|
||||||
@ -239,7 +239,10 @@ static void print_error(const char *str, ...)
|
|||||||
va_end(ap);
|
va_end(ap);
|
||||||
buf[sizeof(buf) - 1] = '\0';
|
buf[sizeof(buf) - 1] = '\0';
|
||||||
|
|
||||||
if (error_callback) error_callback(buf);
|
if (error_callback)
|
||||||
|
error_callback(buf);
|
||||||
|
else
|
||||||
|
fputs(buf, stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mem_lock_thread(void)
|
static void mem_lock_thread(void)
|
||||||
@ -794,11 +797,10 @@ static void MEM_guarded_printmemlist_internal(int pydict)
|
|||||||
}
|
}
|
||||||
while (membl) {
|
while (membl) {
|
||||||
if (pydict) {
|
if (pydict) {
|
||||||
fprintf(stderr,
|
print_error(" {'len':" SIZET_FORMAT ", "
|
||||||
" {'len':" SIZET_FORMAT ", "
|
"'name':'''%s''', "
|
||||||
"'name':'''%s''', "
|
"'pointer':'%p'},\n",
|
||||||
"'pointer':'%p'},\n",
|
SIZET_ARG(membl->len), membl->name, (void *)(membl + 1));
|
||||||
SIZET_ARG(membl->len), membl->name, (void *)(membl + 1));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
#ifdef DEBUG_MEMCOUNTER
|
#ifdef DEBUG_MEMCOUNTER
|
||||||
@ -818,8 +820,8 @@ static void MEM_guarded_printmemlist_internal(int pydict)
|
|||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
if (pydict) {
|
if (pydict) {
|
||||||
fprintf(stderr, "]\n\n");
|
print_error("]\n\n");
|
||||||
fprintf(stderr, mem_printmemlist_pydict_script);
|
print_error(mem_printmemlist_pydict_script);
|
||||||
}
|
}
|
||||||
|
|
||||||
mem_unlock_thread();
|
mem_unlock_thread();
|
||||||
|
Loading…
Reference in New Issue
Block a user