diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-02-27 01:37:03 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-02-27 01:37:03 +0000 |
commit | 11846a17eed6350063c753a0d4b684d9c3c695d0 (patch) | |
tree | fd607e8f903da47b93e86784a51fa10c3d15b821 | |
parent | 655136d4e6f3a1d0e643d32e29fc3bb586c6ba83 (diff) | |
download | mahoro-11846a17eed6350063c753a0d4b684d9c3c695d0.tar.gz |
avoid needless wrapping of the magic_t with struct
No need to allocate anything at all.
-rw-r--r-- | mahoro.c | 26 |
1 files changed, 9 insertions, 17 deletions
@@ -12,20 +12,15 @@ # define RSTRING_PTR(s)->ptr #endif -struct MagicCookie -{ - magic_t cookie; -}; - static VALUE cMahoro; static VALUE eMahoroError; static void mahoro_free(ptr) - struct MagicCookie *ptr; + void *ptr; { - magic_close(ptr->cookie); - xfree(ptr); + if (ptr) + magic_close((magic_t)ptr); } static VALUE @@ -42,7 +37,6 @@ mahoro_initialize(argc, argv, self) { int flags = MAGIC_NONE; char *path = 0; - struct MagicCookie *ptr; magic_t cookie; VALUE vpath, vflags; @@ -66,9 +60,7 @@ mahoro_initialize(argc, argv, self) magic_error(cookie)); } - ptr = ALLOC(struct MagicCookie); - ptr->cookie = cookie; - DATA_PTR(self) = ptr; + DATA_PTR(self) = cookie; return self; } @@ -78,7 +70,7 @@ mahoro_file(self, path) VALUE self, path; { const char *msg; - magic_t cookie = ((struct MagicCookie *) DATA_PTR(self))->cookie; + magic_t cookie = (magic_t)DATA_PTR(self); if(!(msg = magic_file(cookie, StringValueCStr(path)))) { rb_raise(eMahoroError, "failed lookup: %s", magic_error(cookie)); @@ -92,7 +84,7 @@ mahoro_buffer(self, input) VALUE self, input; { const char *msg; - magic_t cookie = ((struct MagicCookie *) DATA_PTR(self))->cookie; + magic_t cookie = (magic_t)DATA_PTR(self); StringValue(input); @@ -108,7 +100,7 @@ static VALUE mahoro_set_flags(self, flags) VALUE self, flags; { - magic_t cookie = ((struct MagicCookie *) DATA_PTR(self))->cookie; + magic_t cookie = (magic_t)DATA_PTR(self); return INT2FIX(magic_setflags(cookie, FIX2INT(flags))); } @@ -120,7 +112,7 @@ mahoro_check(argc, argv, self) { char *path = 0; VALUE vpath; - magic_t cookie = ((struct MagicCookie *) DATA_PTR(self))->cookie; + magic_t cookie = (magic_t)DATA_PTR(self); switch(rb_scan_args(argc, argv, "01", &vpath)) { case 1: @@ -156,7 +148,7 @@ static VALUE mahoro_load(self, path) VALUE self, path; { - magic_t cookie = ((struct MagicCookie *) DATA_PTR(self))->cookie; + magic_t cookie = (magic_t)DATA_PTR(self); if(magic_load(cookie, StringValuePtr(path))) { rb_raise(eMahoroError, "failed load: %s", magic_error(cookie)); |