< prev index next >
src/share/vm/logging/logPrefix.hpp
Print this page
rev 10661 : [mq]: 8145934
*** 92,102 ****
#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)); \
return ret; \
} \
};
LOG_PREFIX_LIST
#undef LOG_PREFIX
--- 92,106 ----
#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); \
! /* 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 >