diff options
author | Andy Wingo <wingo@pobox.com> | 2011-09-29 18:02:28 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-09-29 18:02:28 +0200 |
commit | ca128245811fab5abcf02756cd7a322a3a40d192 (patch) | |
tree | 9138f716f1617f391d2b5f88802b2c6605dd79d2 /libguile/strings.c | |
parent | 25f4a88032f51cecdf8b0147c8a2d0a4574972fa (diff) | |
parent | 014de9e25d87b7d3a13566aee4c271c1a11ea0b7 (diff) | |
download | guile-ca128245811fab5abcf02756cd7a322a3a40d192.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
This was a pretty big merge involving a fair amount of porting,
especially to peval and its tests. I did not update psyntax-pp.scm,
that comes in the next commit.
Conflicts:
module/ice-9/boot-9.scm
module/ice-9/psyntax-pp.scm
module/language/ecmascript/compile-tree-il.scm
module/language/tree-il.scm
module/language/tree-il/analyze.scm
module/language/tree-il/inline.scm
test-suite/tests/tree-il.test
Diffstat (limited to 'libguile/strings.c')
-rw-r--r-- | libguile/strings.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libguile/strings.c b/libguile/strings.c index dd859c4d3..2de003514 100644 --- a/libguile/strings.c +++ b/libguile/strings.c @@ -1779,14 +1779,16 @@ scm_to_latin1_stringn (SCM str, size_t *lenp) if (scm_i_is_narrow_string (str)) { + size_t len = scm_i_string_length (str); + if (lenp) - *lenp = scm_i_string_length (str); + *lenp = len; - result = scm_strdup (scm_i_string_data (str)); + result = scm_strndup (scm_i_string_data (str), len); } else result = scm_to_stringn (str, lenp, NULL, - SCM_FAILED_CONVERSION_ERROR); + SCM_FAILED_CONVERSION_ERROR); return result; } |