From 4230fef85482000692f5c2c4abd4a6b67ff11abd Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 2 Feb 2026 17:20:21 +0600 Subject: [PATCH] Test fix for negative numbers conversion --- source/libublsettings-char.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index 9b8951c..73781ad 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -250,7 +250,7 @@ char *yon_char_from_int(int int_to_convert) { int i = snprintf( NULL, 0, "%d", int_to_convert ); - char *ch = malloc(i * sizeof(char) + 1); + char *ch = malloc(i * sizeof(char) + 1+ int_to_convert<0?1:0); memset(ch,0,i * sizeof(char) + 1); sprintf(ch, "%d", int_to_convert); return ch; @@ -264,7 +264,7 @@ char *yon_char_from_float(float int_to_convert) { convert_check = convert_check / 10; } - char *ch = malloc((i + 9)* sizeof(char)); + char *ch = malloc((i + 9)* sizeof(char)+ int_to_convert<0?1:0); memset(ch,0,(i + 9)* sizeof(char)); sprintf(ch, "%.2f", int_to_convert); return ch; @@ -278,7 +278,7 @@ char *yon_char_from_double(double int_to_convert) { convert_check = convert_check / 10; } - char *ch = malloc((i + 9)* sizeof(char)); + char *ch = malloc((i + 9)* sizeof(char)+ int_to_convert<0?1:0); memset(ch,0,(i + 9)* sizeof(char)); sprintf(ch, "%.2f", int_to_convert); return ch; @@ -286,7 +286,7 @@ char *yon_char_from_double(double int_to_convert) char *yon_char_from_long(long int_to_convert) { - size_t size = 20 * sizeof(char) + 1; + size_t size = 20 * sizeof(char) + 1 + int_to_convert<0?1:0; char *ch = malloc(size); memset(ch,0,size); sprintf(ch, "%ld", int_to_convert);