guile string conversion functions
authorRobin Templeton <robin@terpri.org>
Mon, 18 Aug 2014 05:18:03 +0000 (01:18 -0400)
committerRobin Templeton <robin@terpri.org>
Mon, 20 Apr 2015 04:29:03 +0000 (00:29 -0400)
src/fns.c

index 05e79bb..01a1ea7 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -1074,6 +1074,23 @@ an error is signaled.  */)
   return string;
 }
 
+DEFUN ("string-to-scheme", Fstring_to_scheme, Sstring_to_scheme, 1, 1, 0, 0)
+  (Lisp_Object string)
+{
+  CHECK_STRING (string);
+  return scm_from_utf8_stringn (SSDATA (string), SBYTES (string));
+}
+
+DEFUN ("string-from-scheme", Fstring_from_scheme, Sstring_from_scheme, 1, 1, 0, 0)
+  (Lisp_Object string)
+{
+  char *s;
+  size_t lenp;
+
+  CHECK_STRING (string);
+  s = scm_to_utf8_stringn (string, &lenp);
+  return make_string (s, lenp);
+}
 \f
 DEFUN ("copy-alist", Fcopy_alist, Scopy_alist, 1, 1, 0,
        doc: /* Return a copy of ALIST.