diff --git a/ext/cvmemstorage.cpp b/ext/cvmemstorage.cpp index bc08291..10220be 100644 --- a/ext/cvmemstorage.cpp +++ b/ext/cvmemstorage.cpp @@ -36,18 +36,17 @@ define_ruby_class() */ VALUE opencv = rb_module_opencv(); rb_klass = rb_define_class_under(opencv, "CvMemStorage", rb_cObject); - //rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1); } VALUE rb_allocate(VALUE klass) { CvMemStorage *storage = cvCreateMemStorage(); - return Data_Wrap_Struct(klass, 0, free, storage); + return Data_Wrap_Struct(klass, 0, cvmemstorage_free, storage); } void -free(void *ptr) +cvmemstorage_free(void *ptr) { cvReleaseMemStorage((CvMemStorage**)&ptr); } @@ -56,7 +55,7 @@ VALUE new_object(int blocksize) { CvMemStorage *storage = cvCreateMemStorage(blocksize); - return Data_Wrap_Struct(rb_klass, 0, free, storage); + return Data_Wrap_Struct(rb_klass, 0, cvmemstorage_free, storage); } diff --git a/ext/cvmemstorage.h b/ext/cvmemstorage.h index 1f800da..33fae12 100644 --- a/ext/cvmemstorage.h +++ b/ext/cvmemstorage.h @@ -22,7 +22,7 @@ void define_ruby_class(); VALUE rb_class(); VALUE rb_allocate(VALUE klass); -void free(void *ptr); +void cvmemstorage_free(void *ptr); VALUE new_object(int blocksize = 0);