summaryrefslogtreecommitdiff
path: root/Lib/typemaps
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2016-12-18 16:53:24 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2016-12-18 17:50:47 +0000
commitbdf71b0067250090445e8634babfcb10ada5c247 (patch)
tree58f934893fdaea9570680d85f1d3c45519eeb828 /Lib/typemaps
parentcc56765a7ac8834380096479a1958056a7881e74 (diff)
downloadswig-bdf71b0067250090445e8634babfcb10ada5c247.tar.gz
Zero initialize %array_functions and %array_class
Diffstat (limited to 'Lib/typemaps')
-rw-r--r--Lib/typemaps/swigmacros.swg4
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/typemaps/swigmacros.swg b/Lib/typemaps/swigmacros.swg
index 778502d43..3a63a256c 100644
--- a/Lib/typemaps/swigmacros.swg
+++ b/Lib/typemaps/swigmacros.swg
@@ -157,14 +157,14 @@ nocppval
* ----------------------------------------------------------------------------- */
#if defined(__cplusplus)
-# define %new_instance(Type...) (new Type)
+# define %new_instance(Type...) (new Type())
# define %new_copy(val,Type...) (new Type(%static_cast(val, const Type&)))
# define %new_array(size,Type...) (new Type[size]())
# define %new_copy_array(ptr,size,Type...) %reinterpret_cast(memcpy(new Type[size], ptr, sizeof(Type)*(size)), Type*)
# define %delete(cptr) delete cptr
# define %delete_array(cptr) delete[] cptr
#else /* C case */
-# define %new_instance(Type...) (Type *)malloc(sizeof(Type))
+# define %new_instance(Type...) (Type *)calloc(1,sizeof(Type))
# define %new_copy(val,Type...) (Type *)memcpy(%new_instance(Type),&val,sizeof(Type))
# define %new_array(size,Type...) (Type *)calloc(size, sizeof(Type))
# define %new_copy_array(ptr,size,Type...) (Type *)memcpy(malloc((size)*sizeof(Type)), ptr, sizeof(Type)*(size))