X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libi3%2Fucs2_conversion.c;h=398c1ae58112566da771035a578ce222f99d2a8e;hb=0b5a2092a08f7e4463b5d52e11d84750af84e73c;hp=3a7d0194d45f5430ea4d783a897126f8e5f6f0eb;hpb=b1974a469f2dec2af753ea4735f1b1c5d37161da;p=i3%2Fi3 diff --git a/libi3/ucs2_conversion.c b/libi3/ucs2_conversion.c index 3a7d0194..398c1ae5 100644 --- a/libi3/ucs2_conversion.c +++ b/libi3/ucs2_conversion.c @@ -5,14 +5,14 @@ * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * */ +#include "libi3.h" + #include #include #include #include #include -#include "libi3.h" - static iconv_t utf8_conversion_descriptor = (iconv_t)-1; static iconv_t ucs2_conversion_descriptor = (iconv_t)-1; @@ -23,8 +23,8 @@ static iconv_t ucs2_conversion_descriptor = (iconv_t)-1; */ char *convert_ucs2_to_utf8(xcb_char2b_t *text, size_t num_glyphs) { /* Allocate the output buffer (UTF-8 is at most 4 bytes per glyph) */ - size_t buffer_size = num_glyphs * 4 * sizeof(char) + 1; - char *buffer = scalloc(buffer_size); + size_t buffer_size = num_glyphs * 4 + 1; + char *buffer = scalloc(buffer_size, 1); /* We need to use an additional pointer, because iconv() modifies it */ char *output = buffer; @@ -83,8 +83,7 @@ xcb_char2b_t *convert_utf8_to_ucs2(char *input, size_t *real_strlen) { } /* Do the conversion */ - size_t rc = iconv(ucs2_conversion_descriptor, (char **)&input, - &input_size, (char **)&output, &output_size); + size_t rc = iconv(ucs2_conversion_descriptor, &input, &input_size, (char **)&output, &output_size); if (rc == (size_t)-1) { perror("Converting to UCS-2 failed"); free(buffer);