Loading ndb/src/common/util/basestring_vsnprintf.c +24 −6 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ #include <basestring_vsnprintf.h> #include <my_config.h> /* #define SNPRINTF_RETURN_TRUNC */ int basestring_snprintf(char *str, size_t size, const char *format, ...) { Loading @@ -46,10 +50,23 @@ static char basestring_vsnprintf_buf[16*1024]; #endif int basestring_vsnprintf(char *str, size_t size, const char *format, va_list ap) { if (size == 0) { #ifdef SNPRINTF_RETURN_TRUNC return BASESTRING_VSNPRINTF_FUNC(basestring_vsnprintf_buf, sizeof(basestring_vsnprintf_buf), format, ap); #else char buf[1]; return BASESTRING_VSNPRINTF_FUNC(buf, 1, format, ap); #endif } { int ret= BASESTRING_VSNPRINTF_FUNC(str, size, format, ap); #ifdef SNPRINTF_RETURN_TRUNC if (ret == size-1 || ret == -1) { if (ret == size-1 || ret == -1) { ret= BASESTRING_VSNPRINTF_FUNC(basestring_vsnprintf_buf, sizeof(basestring_vsnprintf_buf), format, ap); Loading @@ -57,3 +74,4 @@ basestring_vsnprintf(char *str, size_t size, const char *format, va_list ap) #endif return ret; } } Loading
ndb/src/common/util/basestring_vsnprintf.c +24 −6 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ #include <basestring_vsnprintf.h> #include <my_config.h> /* #define SNPRINTF_RETURN_TRUNC */ int basestring_snprintf(char *str, size_t size, const char *format, ...) { Loading @@ -46,10 +50,23 @@ static char basestring_vsnprintf_buf[16*1024]; #endif int basestring_vsnprintf(char *str, size_t size, const char *format, va_list ap) { if (size == 0) { #ifdef SNPRINTF_RETURN_TRUNC return BASESTRING_VSNPRINTF_FUNC(basestring_vsnprintf_buf, sizeof(basestring_vsnprintf_buf), format, ap); #else char buf[1]; return BASESTRING_VSNPRINTF_FUNC(buf, 1, format, ap); #endif } { int ret= BASESTRING_VSNPRINTF_FUNC(str, size, format, ap); #ifdef SNPRINTF_RETURN_TRUNC if (ret == size-1 || ret == -1) { if (ret == size-1 || ret == -1) { ret= BASESTRING_VSNPRINTF_FUNC(basestring_vsnprintf_buf, sizeof(basestring_vsnprintf_buf), format, ap); Loading @@ -57,3 +74,4 @@ basestring_vsnprintf(char *str, size_t size, const char *format, va_list ap) #endif return ret; } }