diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-01-09 15:46:15 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-01-09 15:46:15 -0800 |
commit | 4e119128f89115dc5e1b00c00c2567ad550a04c3 (patch) | |
tree | cdd8734566d55c65a57e19ac1dfe913021857f6a | |
parent | e77ec16597234e3586e88dbaed3fb2bee7cda788 (diff) | |
download | txr-4e119128f89115dc5e1b00c00c2567ad550a04c3.tar.gz txr-4e119128f89115dc5e1b00c00c2567ad550a04c3.tar.bz2 txr-4e119128f89115dc5e1b00c00c2567ad550a04c3.zip |
New internal function for copying malloced object.
* lib.c (chk_copy_obj): New function.
* lib.h (chk_copy_obj): Declared.
-rw-r--r-- | lib.c | 8 | ||||
-rw-r--r-- | lib.h | 1 |
2 files changed, 9 insertions, 0 deletions
@@ -2358,6 +2358,14 @@ char *chk_strdup_utf8(const char *str) return copy; } +mem_t *chk_copy_obj(mem_t *orig, size_t size) +{ + mem_t *copy = chk_malloc(size); + assert (!async_sig_enabled); + memcpy(copy, orig, size); + return copy; +} + val cons(val car, val cdr) { val obj = make_obj(); @@ -561,6 +561,7 @@ mem_t *chk_manage_vec(mem_t *old, size_t oldfilled, size_t newfilled, wchar_t *chk_wmalloc(size_t nwchar); wchar_t *chk_strdup(const wchar_t *str); char *chk_strdup_utf8(const char *str); +mem_t *chk_copy_obj(mem_t *orig, size_t size); val cons(val car, val cdr); val make_lazy_cons(val func); val make_half_lazy_cons(val func, val car); |