diff options
-rw-r--r-- | src/charConv.c | 7 | ||||
-rw-r--r-- | src/charConv.h | 2 | ||||
-rw-r--r-- | src/path.c | 11 |
3 files changed, 11 insertions, 9 deletions
diff --git a/src/charConv.c b/src/charConv.c index 8e614f3a0..8e8a9ce95 100644 --- a/src/charConv.c +++ b/src/charConv.c @@ -150,6 +150,13 @@ char *convStrDup(char *string) return NULL; } +char *convCharset(char *to, char *from, char *str, char *ret) +{ + if (ret) + free(ret); + return setCharSetConversion(to, from) ? NULL : convStrDup(str); +} + static void closeCharSetConversion(void) { if (char_conv_to) { diff --git a/src/charConv.h b/src/charConv.h index d3d0fa70d..f2d619469 100644 --- a/src/charConv.h +++ b/src/charConv.h @@ -25,4 +25,6 @@ int setCharSetConversion(char *to, char *from); char *convStrDup(char *string); +char *convCharset(char *to, char *from, char *str, char *ret); + #endif diff --git a/src/path.c b/src/path.c index 721cb345b..35836ea46 100644 --- a/src/path.c +++ b/src/path.c @@ -36,18 +36,11 @@ const char *musicDir; static const char *playlistDir; static char *fsCharset = NULL; -static char *pathConvCharset(char *to, char *from, char *str, char *ret) -{ - if (ret) - free(ret); - return setCharSetConversion(to, from) ? NULL : convStrDup(str); -} - char *fsCharsetToUtf8(char *str) { static char *ret = NULL; - ret = pathConvCharset("UTF-8", fsCharset, str, ret); + ret = convCharset("UTF-8", fsCharset, str, ret); if (ret && !validUtf8String(ret)) { free(ret); @@ -61,7 +54,7 @@ char *utf8ToFsCharset(char *str) { static char *ret = NULL; - ret = pathConvCharset(fsCharset, "UTF-8", str, ret); + ret = convCharset(fsCharset, "UTF-8", str, ret); if (!ret) ret = xstrdup(str); |