diff options
author | Marius Vollmer <mvo@zagadka.de> | 2005-01-06 18:56:34 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2005-01-06 18:56:34 +0000 |
commit | c8857a4db44ba4242ae05f57fe89ffd4e3971776 (patch) | |
tree | 3320a9e67ffbfd694c63a16fa87dc00fd8d35009 /libguile/gh_data.c | |
parent | fea99690f2e31b08d4261d91509c6fed7d945125 (diff) | |
download | guile-c8857a4db44ba4242ae05f57fe89ffd4e3971776.tar.gz |
(scm_array_handle_release): New, changed all uses of
scm_t_array_handle to properly call it.
(scm_vector_get_handle, scm_generalized_vector_get_handle):
Renamed former to latter, changed all uses.
Diffstat (limited to 'libguile/gh_data.c')
-rw-r--r-- | libguile/gh_data.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libguile/gh_data.c b/libguile/gh_data.c index 859327cd7..2d437dbb9 100644 --- a/libguile/gh_data.c +++ b/libguile/gh_data.c @@ -258,9 +258,11 @@ gh_scm2chars (SCM obj, char *m) scm_list_1 (obj)); if (m == 0) m = (char *) malloc (len); + if (m != NULL) + memcpy (m, elts, len); + scm_array_handle_release (&handle); if (m == NULL) return NULL; - memcpy (m, elts, len); break; } else @@ -296,9 +298,11 @@ scm2whatever (SCM obj, void *m, size_t size) if (m == 0) m = malloc (len * sizeof (size)); - if (m == NULL) - return NULL; - memcpy (m, elts, len * size); + if (m != NULL) + memcpy (m, elts, len * size); + + scm_array_handle_release (&handle); + return m; } |