summaryrefslogtreecommitdiff
path: root/libguile/strings.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/strings.c')
-rw-r--r--libguile/strings.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/libguile/strings.c b/libguile/strings.c
index 8c404a372..961705782 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -1525,13 +1525,9 @@ scm_from_stringn (const char *str, size_t len, const char *encoding,
len = strlen (str);
if (encoding == NULL || len == 0)
- {
- /* If encoding is null (or the string is empty), use Latin-1. */
- char *buf;
- res = scm_i_make_string (len, &buf, 0);
- memcpy (buf, str, len);
- return res;
- }
+ return scm_from_latin1_stringn (str, len);
+ else if (strcmp (encoding, "UTF-8") == 0)
+ return scm_from_utf8_stringn (str, len);
u32len = 0;
u32 = (scm_t_wchar *) u32_conv_from_encoding (encoding,