va_copy(dst, vaList);
int vsnret = vsnprintf(&formatBuffer[0], formatBuffer.size(), formatString, dst);
+ va_end(dst);
+
if (vsnret > 0 && static_cast<unsigned>(vsnret) < formatBuffer.size())
{
- return &formatBuffer[0];
+ break;
}
formatBuffer.resize(formatBuffer.size() * 2);
}
- throw CoreException();
+ return &formatBuffer[0];
}
const char* InspIRCd::Format(const char* formatString, ...)