summaryrefslogtreecommitdiff
path: root/libguile/vm-i-loader.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-03-20 23:34:42 +0100
committerLudovic Courtès <ludo@gnu.org>2011-03-20 23:34:42 +0100
commit190d4b0d93599e5b58e773dc6375054c3a6e3dbf (patch)
tree3feaf151da16529141472853968c14f570b5955a /libguile/vm-i-loader.c
parent95c1cfb550e2e753324c5cc57ef5df90034f072a (diff)
downloadguile-190d4b0d93599e5b58e773dc6375054c3a6e3dbf.tar.gz
Make VM string literals immutable.
* libguile/strings.c (scm_i_make_string, scm_i_make_wide_string): Add `read_only_p' parameter. All callers updated. * libguile/vm-i-loader.c (load_string, load_wide_string): Push read-only strings. * test-suite/tests/strings.test ("literals"): New test prefix.
Diffstat (limited to 'libguile/vm-i-loader.c')
-rw-r--r--libguile/vm-i-loader.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/vm-i-loader.c b/libguile/vm-i-loader.c
index fae39fb8d..0d8678485 100644
--- a/libguile/vm-i-loader.c
+++ b/libguile/vm-i-loader.c
@@ -40,7 +40,7 @@ VM_DEFINE_LOADER (102, load_string, "load-string")
FETCH_LENGTH (len);
SYNC_REGISTER ();
- PUSH (scm_i_make_string (len, &buf));
+ PUSH (scm_i_make_string (len, &buf, 1));
memcpy (buf, (char *) ip, len);
ip += len;
NEXT;
@@ -113,7 +113,7 @@ VM_DEFINE_LOADER (107, load_wide_string, "load-wide-string")
}
SYNC_REGISTER ();
- PUSH (scm_i_make_wide_string (len / 4, &wbuf));
+ PUSH (scm_i_make_wide_string (len / 4, &wbuf, 1));
memcpy ((char *) wbuf, (char *) ip, len);
ip += len;
NEXT;