diff --git a/lib/fort.c b/lib/fort.c index 3ab2d29..8573126 100644 --- a/lib/fort.c +++ b/lib/fort.c @@ -171,7 +171,9 @@ size_t number_of_columns_in_format_wstring(const wchar_t *fmt); /*int snprint_n_chars(char *buf, size_t length, size_t n, char ch);*/ /*int wsnprint_n_chars(wchar_t *buf, size_t length, size_t n, wchar_t ch);*/ int snprint_n_strings(char *buf, size_t length, size_t n, const char *str); +#if defined(FT_HAVE_WCHAR) int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str); +#endif #define CHCK_RSLT_ADD_TO_WRITTEN(statement) \ @@ -4134,6 +4136,9 @@ int snprint_n_strings(char *buf, size_t length, size_t n, const char *str) // return (int)n; //} +#if defined(FT_HAVE_WCHAR) +#define WCS_SIZE 64 + int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) { size_t str_len = strlen(str); @@ -4147,12 +4152,12 @@ int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) if (*p <= 127) p++; else { - const int SIZE = 64; - wchar_t wcs[SIZE]; + wchar_t wcs[WCS_SIZE]; const char *ptr = str; int length; - length = mbsrtowcs(wcs, (const char **)&ptr, SIZE, NULL); + length = mbsrtowcs(wcs, (const char **)&ptr, WCS_SIZE, NULL); wcs[length] = L'\0'; + /* for simplicity */ if (length > 1) { return -1; } else { @@ -4194,7 +4199,7 @@ int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) } return (int)(n * str_len); } - +#endif /******************************************************** End of file "fort_utils.c" diff --git a/src/fort_utils.c b/src/fort_utils.c index 1534401..cd32717 100644 --- a/src/fort_utils.c +++ b/src/fort_utils.c @@ -236,6 +236,9 @@ int snprint_n_strings(char *buf, size_t length, size_t n, const char *str) // return (int)n; //} +#if defined(FT_HAVE_WCHAR) +#define WCS_SIZE 64 + int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) { size_t str_len = strlen(str); @@ -249,12 +252,12 @@ int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) if (*p <= 127) p++; else { - const int SIZE = 64; - wchar_t wcs[SIZE]; + wchar_t wcs[WCS_SIZE]; const char *ptr = str; int length; - length = mbsrtowcs(wcs, (const char **)&ptr, SIZE, NULL); + length = mbsrtowcs(wcs, (const char **)&ptr, WCS_SIZE, NULL); wcs[length] = L'\0'; + /* for simplicity */ if (length > 1) { return -1; } else { @@ -296,4 +299,4 @@ int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str) } return (int)(n * str_len); } - +#endif diff --git a/src/fort_utils.h b/src/fort_utils.h index e4eb278..beb6224 100644 --- a/src/fort_utils.h +++ b/src/fort_utils.h @@ -134,7 +134,9 @@ size_t number_of_columns_in_format_wstring(const wchar_t *fmt); /*int snprint_n_chars(char *buf, size_t length, size_t n, char ch);*/ /*int wsnprint_n_chars(wchar_t *buf, size_t length, size_t n, wchar_t ch);*/ int snprint_n_strings(char *buf, size_t length, size_t n, const char *str); +#if defined(FT_HAVE_WCHAR) int wsnprint_n_string(wchar_t *buf, size_t length, size_t n, const char *str); +#endif #define CHCK_RSLT_ADD_TO_WRITTEN(statement) \