#if defined(NDEBUG_STUBS)
return false;
#else
- return Target::get().dump(scope);
+ return Target::get().dumping(scope);
#endif
}
// now stuff the message body in, slightly roasted
size_t left = buffer + sizeof(buffer) - bufp - 1; // reserve one
size_t written = vsnprintf(bufp, left, format, args);
- for (char *p = bufp; *p; p++)
- if (!isprint(*p))
+ for (char *p = bufp; *p; p++) {
+ if (!isprint(*p)) {
*p = '?';
+ }
+ }
if (written >= left) { // snprintf overflowed
bufp += left;
strcpy(bufp - 3, "...");
sink->dump(buffer);
}
-bool Target::dump(const char *scope)
+bool Target::dumping(const char *scope)
{
return dumpSelector(scope);
}
if (singleton == NULL) {
Target *t = new Target;
t->setFromEnvironment();
+
+ // The Target constructor attempts to set singleton to the object. If it didn't succeed, we don't need T anymore.
+ if(singleton != t) {
+ delete t;
+ }
}
return *singleton;
}