core: Add string-length.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 15 Nov 2018 22:51:29 +0000 (23:51 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 15 Nov 2018 22:51:29 +0000 (23:51 +0100)
* src/strings.c (string_length): New function.
* mes/module/mes/scm.mes (string-length): Remove.

mes/module/mes/scm.mes
src/strings.c

index 25dcb2fa3f3f4befd00763a00f3852003c727664..3ca92ca16abc2fc536510def19fa526925fc8b9e 100644 (file)
 (define (make-string n . fill)
   (list->string (apply make-list n fill)))
 
-(define (string-length s)
-  (length (string->list s)))
-
 (define (string-ref s k)
   (list-ref (string->list s) k))
 
index 11630a26f21c3f507e51457ff9daec3c78cafe2d..9073c2a9853543da8d506602301937523968154f 100644 (file)
@@ -260,3 +260,10 @@ string_append (SCM x) ///((arity . n))
     }
   return make_string (buf, size);
 }
+
+SCM
+string_length (SCM string)
+{
+  assert (TYPE (string) == TSTRING);
+  return MAKE_NUMBER (LENGTH (string));
+}