diff options
-rw-r--r-- | libguile/bytevectors.c | 14 | ||||
-rw-r--r-- | libguile/bytevectors.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c index ac5bc1646..ffd2f1286 100644 --- a/libguile/bytevectors.c +++ b/libguile/bytevectors.c @@ -275,6 +275,13 @@ scm_c_make_bytevector (size_t len) return make_bytevector (len, SCM_ARRAY_ELEMENT_TYPE_VU8); } +/* Return a new bytevector of size LEN elements. */ +SCM +scm_i_make_typed_bytevector (size_t len, scm_t_array_element_type element_type) +{ + return make_bytevector (len, element_type); +} + /* Return a bytevector of size LEN made up of CONTENTS. The area pointed to by CONTENTS must have been allocated using `scm_gc_malloc ()'. */ SCM @@ -283,6 +290,13 @@ scm_c_take_bytevector (signed char *contents, size_t len) return make_bytevector_from_buffer (len, contents, SCM_ARRAY_ELEMENT_TYPE_VU8); } +SCM +scm_c_take_typed_bytevector (signed char *contents, size_t len, + scm_t_array_element_type element_type) +{ + return make_bytevector_from_buffer (len, contents, element_type); +} + /* Shrink BV to C_NEW_LEN (which is assumed to be smaller than its current size) and return the new bytevector (possibly different from BV). */ SCM diff --git a/libguile/bytevectors.h b/libguile/bytevectors.h index 59db89e86..431b7dddd 100644 --- a/libguile/bytevectors.h +++ b/libguile/bytevectors.h @@ -130,6 +130,10 @@ SCM_API SCM scm_utf32_to_string (SCM, SCM); /* Hint that is passed to `scm_gc_malloc ()' and friends. */ #define SCM_GC_BYTEVECTOR "bytevector" +SCM_INTERNAL SCM scm_i_make_typed_bytevector (size_t, scm_t_array_element_type); +SCM_INTERNAL SCM scm_c_take_typed_bytevector (signed char *, size_t, + scm_t_array_element_type); + SCM_INTERNAL void scm_bootstrap_bytevectors (void); SCM_INTERNAL void scm_init_bytevectors (void); |