This shouldn't be necessary but we use these for primitive names with
routines that expect them to be NUL-terminated, so this is more
convenient until we either length-delimit the primitive names or
explicitly NUL-terminate them or whatever.
SCHEME_OBJECT result
= (allocate_non_marked_vector
(TC_BYTEVECTOR,
- ((BYTES_TO_WORDS (nbytes)) + BYTEVECTOR_LENGTH_SIZE),
+ ((BYTES_TO_WORDS (nbytes + 1)) + BYTEVECTOR_LENGTH_SIZE),
true));
SET_BYTEVECTOR_LENGTH (result, nbytes);
+ ((BYTEVECTOR_POINTER (result)) [nbytes]) = '\0';
return (result);
}