summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/typeinfo.cc20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/typeinfo.cc b/src/typeinfo.cc
index fab4015..7fb7486 100644
--- a/src/typeinfo.cc
+++ b/src/typeinfo.cc
@@ -65,18 +65,30 @@ extern "C" char* __cxa_demangle(const char* mangled_name,
{
memcpy(buf, demangled, len);
buf[len] = 0;
- *n = len;
- *status = 0;
+ if (n)
+ {
+ *n = len;
+ }
+ if (status)
+ {
+ *status = 0;
+ }
}
else
{
- *status = -1;
+ if (status)
+ {
+ *status = -1;
+ }
}
free(demangled);
}
else
{
- *status = -2;
+ if (status)
+ {
+ *status = -2;
+ }
return NULL;
}
return buf;