From: Chris Hanson <org/chris-hanson/cph>
Date: Thu, 8 Mar 2001 17:13:59 +0000 (+0000)
Subject: Add procedures to allocate strings without garbage collecting.
X-Git-Tag: 20090517-FFI~2926
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=1da67325ceb39e74479b00ec9bd07b5937e3afc8;p=mit-scheme.git

Add procedures to allocate strings without garbage collecting.
---

diff --git a/v7/src/microcode/extern.h b/v7/src/microcode/extern.h
index b987f4f1b..eeb4bedcb 100644
--- a/v7/src/microcode/extern.h
+++ b/v7/src/microcode/extern.h
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: extern.h,v 9.58 2001/03/08 17:01:55 cph Exp $
+$Id: extern.h,v 9.59 2001/03/08 17:12:50 cph Exp $
 
 Copyright (c) 1987-2001 Massachusetts Institute of Technology
 
@@ -212,11 +212,12 @@ extern SCHEME_OBJECT EXFUN (make_vector, (long, SCHEME_OBJECT, Boolean));
 extern SCHEME_OBJECT EXFUN (allocate_string, (unsigned long));
 extern SCHEME_OBJECT EXFUN (allocate_string_no_gc, (unsigned long));
 extern SCHEME_OBJECT EXFUN
-  (memory_to_string, (unsigned long, unsigned char *));
+  (memory_to_string, (unsigned long, CONST unsigned char *));
 extern SCHEME_OBJECT EXFUN
-  (memory_to_string_no_gc, (unsigned long, unsigned char *));
-extern SCHEME_OBJECT EXFUN (char_pointer_to_string, (unsigned char *));
-extern SCHEME_OBJECT EXFUN (char_pointer_to_string_no_gc, (unsigned char *));
+  (memory_to_string_no_gc, (unsigned long, CONST unsigned char *));
+extern SCHEME_OBJECT EXFUN (char_pointer_to_string, (CONST unsigned char *));
+extern SCHEME_OBJECT EXFUN
+  (char_pointer_to_string_no_gc, (CONST unsigned char *));
 
 /* Random and OS utilities */
 extern Boolean EXFUN (Restore_History, (SCHEME_OBJECT));
diff --git a/v7/src/microcode/string.c b/v7/src/microcode/string.c
index 6f6ac882f..0f0f1977a 100644
--- a/v7/src/microcode/string.c
+++ b/v7/src/microcode/string.c
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: string.c,v 9.42 2001/03/08 17:02:02 cph Exp $
+$Id: string.c,v 9.43 2001/03/08 17:13:59 cph Exp $
 
 Copyright (c) 1987-2001 Massachusetts Institute of Technology
 
@@ -60,7 +60,7 @@ DEFUN (allocate_string_no_gc, (nbytes), unsigned long nbytes)
 SCHEME_OBJECT
 DEFUN (memory_to_string, (nbytes, data),
        unsigned long nbytes AND
-       unsigned char * data)
+       CONST unsigned char * data)
 {
   SCHEME_OBJECT result = (allocate_string (nbytes));
   unsigned char * scan_result = (STRING_LOC (result, 0));
@@ -73,7 +73,7 @@ DEFUN (memory_to_string, (nbytes, data),
 SCHEME_OBJECT
 DEFUN (memory_to_string_no_gc, (nbytes, data),
        unsigned long nbytes AND
-       unsigned char * data)
+       CONST unsigned char * data)
 {
   SCHEME_OBJECT result = (allocate_string_no_gc (nbytes));
   unsigned char * scan_result = (STRING_LOC (result, 0));
@@ -84,7 +84,8 @@ DEFUN (memory_to_string_no_gc, (nbytes, data),
 }
 
 SCHEME_OBJECT
-DEFUN (char_pointer_to_string, (char_pointer), unsigned char * char_pointer)
+DEFUN (char_pointer_to_string, (char_pointer),
+       CONST unsigned char * char_pointer)
 {
   unsigned char * scan = char_pointer;
   if (scan == 0)
@@ -97,7 +98,7 @@ DEFUN (char_pointer_to_string, (char_pointer), unsigned char * char_pointer)
 
 SCHEME_OBJECT
 DEFUN (char_pointer_to_string_no_gc, (char_pointer),
-       unsigned char * char_pointer)
+       CONST unsigned char * char_pointer)
 {
   unsigned char * scan = char_pointer;
   if (scan == 0)