* srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
[bpt/guile.git] / srfi / srfi-13.c
index 584c8e8..b50ef08 100644 (file)
@@ -49,6 +49,7 @@
 
 #include <libguile.h>
 
+#include "srfi-13.h"
 #include "srfi-14.h"
 
 SCM_DEFINE (scm_string_any, "string-any", 2, 2, 0, 
@@ -2296,7 +2297,7 @@ SCM_DEFINE (scm_string_concatenate, "string-concatenate", 1, 0, 0,
 #undef FUNC_NAME
 
 
-SCM_DEFINE (scm_reverse_string_concatenate, "reverse-string-concatenate", 1, 2, 0, 
+SCM_DEFINE (scm_string_concatenate_reverse, "string-concatenate-reverse", 1, 2, 0, 
             (SCM ls, SCM final_string, SCM end),
            "Without optional arguments, this procedure is equivalent to\n"
            "\n"
@@ -2306,10 +2307,12 @@ SCM_DEFINE (scm_reverse_string_concatenate, "reverse-string-concatenate", 1, 2,
            "\n"
            "If the optional argument @var{final_string} is specified, it is\n"
            "consed onto the beginning to @var{ls} before performing the\n"
-           "list-reverse and string-concatenate operations.\n"
+           "list-reverse and string-concatenate operations.  If @var{end}\n"
+           "is given, only the characters of @var{final_string} up to index\n"
+           "@var{end} are used.\n"
            "\n"
            "Guaranteed to return a freshly allocated string.")
-#define FUNC_NAME s_scm_reverse_string_concatenate
+#define FUNC_NAME s_scm_string_concatenate_reverse
 {
   long strings;
   SCM tmp, result;
@@ -2393,14 +2396,14 @@ SCM_DEFINE (scm_string_concatenate_shared, "string-concatenate/shared", 1, 0, 0,
 #undef FUNC_NAME
 
 
-SCM_DEFINE (scm_reverse_string_concatenate_shared, "reverse-string-concatenate/shared", 1, 2, 0, 
+SCM_DEFINE (scm_string_concatenate_reverse_shared, "string-concatenate-reverse/shared", 1, 2, 0, 
             (SCM ls, SCM final_string, SCM end),
-           "Like @code{reverse-string-concatenate}, but the result may\n"
+           "Like @code{string-concatenate-reverse}, but the result may\n"
            "share memory with the the strings in the @var{ls} arguments.")
-#define FUNC_NAME s_scm_reverse_string_concatenate_shared
+#define FUNC_NAME s_scm_string_concatenate_reverse_shared
 {
   /* Just call the non-sharing version.  */
-  return scm_reverse_string_concatenate (ls, final_string, end);
+  return scm_string_concatenate_reverse (ls, final_string, end);
 }
 #undef FUNC_NAME
 
@@ -2775,11 +2778,11 @@ SCM_DEFINE (scm_string_replace, "string-replace", 2, 4, 0,
   result = scm_allocate_string (cstart1 + (cend2 - cstart2) +
                                SCM_STRING_LENGTH (s1) - cend1);
   p = SCM_STRING_CHARS (result);
-  memmove (p, cstr1, cstart1);
-  memmove (p + cstart1, cstr2 + cstart2, (cend2 - cstart2));
+  memmove (p, cstr1, cstart1 * sizeof (char));
+  memmove (p + cstart1, cstr2 + cstart2, (cend2 - cstart2) * sizeof (char));
   memmove (p + cstart1 + (cend2 - cstart2),
           cstr1 + cend1,
-          SCM_STRING_LENGTH (s1) - cend1);
+          (SCM_STRING_LENGTH (s1) - cend1) * sizeof (char));
   return result;
 }
 #undef FUNC_NAME
@@ -3021,16 +3024,16 @@ SCM_DEFINE (scm_string_delete, "string-delete", 2, 2, 0,
 
 
 void
-scm_init_srfi_13 ()
+scm_init_srfi_13 (void)
 {
 #ifndef SCM_MAGIC_SNARFER
-#include "srfi-13.x"
+#include "srfi/srfi-13.x"
 #endif
 }
 
 
 void
-scm_init_srfi_13_14 ()
+scm_init_srfi_13_14 (void)
 {
   static int initialized = 0;