< prev index next >
src/share/vm/logging/logPrefix.hpp
Print this page
rev 10661 : [mq]: 8145934
@@ -92,11 +92,15 @@
#define LOG_PREFIX(fn, ...) \
template <> struct LogPrefix<__VA_ARGS__> { \
static size_t prefix(char* buf, size_t len) { \
DEBUG_ONLY(buf[0] = '\0';) \
size_t ret = fn(buf, len); \
- assert(ret == strlen(buf), "Length mismatch ret (" SIZE_FORMAT ") != buf length (" SIZE_FORMAT ")", ret, strlen(buf)); \
+ /* Either prefix did fit (strlen(buf) == ret && ret < len) */ \
+ /* or the prefix didn't fit in buffer (ret > len && strlen(buf) < len) */ \
+ assert(strlen(buf) < len, "Buffer overrun by prefix function."); \
+ assert(strlen(buf) == ret || ret >= len, "Prefix function should return length of prefix written," \
+ " or the intended length of prefix if the buffer was too small."); \
return ret; \
} \
};
LOG_PREFIX_LIST
#undef LOG_PREFIX
< prev index next >