summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
Diffstat (limited to 'libguile')
-rw-r--r--libguile/strings.c11
-rw-r--r--libguile/strings.h16
2 files changed, 19 insertions, 8 deletions
diff --git a/libguile/strings.c b/libguile/strings.c
index 52dfb530a..68fa25c8a 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -1502,6 +1502,12 @@ scm_from_stringn (const char *str, size_t len, const char *encoding,
}
SCM
+scm_from_latin1_stringn (const char *str, size_t len)
+{
+ return scm_from_stringn (str, len, NULL, SCM_FAILED_CONVERSION_ERROR);
+}
+
+SCM
scm_from_locale_stringn (const char *str, size_t len)
{
const char *enc;
@@ -1697,6 +1703,11 @@ unistring_escapes_to_r6rs_escapes (char **bufp, size_t *lenp)
memcpy (before, after, j);
}
+char *
+scm_to_latin1_stringn (SCM str, size_t *lenp)
+{
+ return scm_to_stringn (str, lenp, NULL, SCM_FAILED_CONVERSION_ERROR);
+}
char *
scm_to_locale_stringn (SCM str, size_t *lenp)
diff --git a/libguile/strings.h b/libguile/strings.h
index 734ac62e0..4b120e045 100644
--- a/libguile/strings.h
+++ b/libguile/strings.h
@@ -113,10 +113,8 @@ SCM_API SCM scm_substring_shared (SCM str, SCM start, SCM end);
SCM_API SCM scm_substring_copy (SCM str, SCM start, SCM end);
SCM_API SCM scm_string_append (SCM args);
-SCM_API SCM scm_from_stringn (const char *str, size_t len,
- const char *encoding,
- scm_t_string_failed_conversion_handler
- handler);
+SCM_API SCM scm_from_stringn (const char *str, size_t len, const char *encoding,
+ scm_t_string_failed_conversion_handler handler);
SCM_API SCM scm_c_make_string (size_t len, SCM chr);
SCM_API size_t scm_c_string_length (SCM str);
SCM_API size_t scm_c_symbol_length (SCM sym);
@@ -128,17 +126,17 @@ SCM_API SCM scm_c_substring_shared (SCM str, size_t start, size_t end);
SCM_API SCM scm_c_substring_copy (SCM str, size_t start, size_t end);
SCM_API int scm_is_string (SCM x);
+SCM_API SCM scm_from_latin1_stringn (const char *str, size_t len);
SCM_API SCM scm_from_locale_string (const char *str);
SCM_API SCM scm_from_locale_stringn (const char *str, size_t len);
SCM_INTERNAL SCM scm_i_from_utf8_string (const scm_t_uint8 *str);
SCM_API SCM scm_take_locale_string (char *str);
SCM_API SCM scm_take_locale_stringn (char *str, size_t len);
+SCM_API char *scm_to_latin1_stringn (SCM str, size_t *lenp);
SCM_API char *scm_to_locale_string (SCM str);
SCM_API char *scm_to_locale_stringn (SCM str, size_t *lenp);
-SCM_INTERNAL char *scm_to_stringn (SCM str, size_t *lenp,
- const char *encoding,
- scm_t_string_failed_conversion_handler
- handler);
+SCM_API char *scm_to_stringn (SCM str, size_t *lenp, const char *encoding,
+ scm_t_string_failed_conversion_handler handler);
SCM_INTERNAL scm_t_uint8 *scm_i_to_utf8_string (SCM str);
SCM_API size_t scm_to_locale_stringbuf (SCM str, char *buf, size_t max_len);
@@ -215,6 +213,8 @@ SCM_API SCM scm_sys_symbol_dump (SCM);
SCM_API SCM scm_sys_stringbuf_hist (void);
#endif
+
+
/* deprecated stuff */
#if SCM_ENABLE_DEPRECATED