Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
56 lines (40 sloc) 2.47 KB
2015-03-18 Franklin "Snaipe" Mathieu <>
* include/csptr/{smart_ptr.h,apply.h}: Removed the destructor helper macro
* include/csptr/{smart_ptr.h,smalloc.h}: Changed the vararg usage to
struct vararg. This change is **NOT** backward-compatible. Parenthesis
around the value were removed with this change, and metadata is no longer
passed as two separate parameters.
2015-01-26 Franklin "Snaipe" Mathieu <>
* include/csptr/smart_ptr.h: Smart pointers now take a mandatory value.
* doc/csptr.3: Fixed some typos and updated to latest interface.
2015-01-20 Franklin "Snaipe" Mathieu <>
* Removed --with-malloc-wrapper ./configure flag.
* src/wrap_malloc.{c,h}: Removed malloc/free wrappers.
* check/*: Added unit tests & coverage reports.
* mman.c: Fix for shared pointers accessing the wrong metadata.
2015-01-14 Franklin "Snaipe" Mathieu <>
* Added --with-malloc-wrapper and --with-fixed-allocator
flags for ./configure.
* src/mman.c: Added a fixed allocator support -- if the user does not
want to override at runtime the allocators used by smalloc/sfree and just
want to use malloc and free, they may enable this option using the
--with-fixed-allocator configuration flag.
* src/wrap_malloc.{c,h}, src/mman.c: Added malloc/free wrappers.
Pointers produced by malloc can be used with the `smart` attribute,
and smart pointers may be passed to free. This option is deactivated
by default, and can be enabled using the --with-malloc-wrapper
configuration flag.
2015-01-14 Franklin "Snaipe" Mathieu <>
* src/smart_ptr.h: unique_ptr and shared_ptr now take a type parameter
instead of a size.
* src/smart_ptr.h: Added support for static array types in the unique_ptr
and shared_ptr macros.
* src/mman.{c,h}: Added smart array allocation through smalloc. smalloc
has been changed to take a mandatory `nmemb` parameter, that may be 0
if the allocated type is a scalar, and an array for any other value.
2015-01-13 Franklin "Snaipe" Mathieu <>
* src/smart_ptr.h: Added unique_ptr and shared_ptr macros, added
`smart` variable attribute.
* src/mman.{c,h}: Added smalloc, sfree, sref, and get_smart_user_meta.
Alternative allocators may be specified by setting the contents of