#include <st.h>
#include <locale.h>
-#define CHECK_KEY(key) \
+#define CHECK_NO_BIN0(key) \
if (rb_funcall (key, id_include, 1, INT2FIX (0)) == Qtrue) \
- rb_raise (rb_eArgError, "key must not contain binary zeroes");
+ rb_raise (rb_eArgError, #key " must not contain binary zeroes");
#define CHECK_CLOSED(ef) \
if (!*(ef)) \
CHECK_CLOSED (ef);
ckey = StringValuePtr (key);
- CHECK_KEY (key);
+ CHECK_NO_BIN0 (key);
if (!eet_delete (*ef, ckey))
rb_raise (rb_eIOError, "cannot delete entry - %s", ckey);
CHECK_CLOSED (ef);
ckey = StringValuePtr (key);
- CHECK_KEY (key);
+ CHECK_NO_BIN0 (key);
data = eet_read (*ef, ckey, &size);
if (!data)
comp = Qtrue;
ckey = StringValuePtr (key);
- CHECK_KEY (key);
+ CHECK_NO_BIN0 (key);
cbuf = StringValuePtr (buf);
n = eet_write (*ef, ckey,
CHECK_CLOSED (ef);
ckey = StringValuePtr (key);
- CHECK_KEY (key);
+ CHECK_NO_BIN0 (key);
data = eet_data_image_read (*ef, ckey, &w, &h,
&has_alpha, &level, &quality,
has_alpha = Qfalse;
ckey = StringValuePtr (key);
- CHECK_KEY (key);
+ CHECK_NO_BIN0 (key);
cbuf = StringValuePtr (buf);
Check_Type (w, T_FIXNUM);
Check_Type (h, T_FIXNUM);
StringValue (tag);
StringValue (data);
- if (rb_funcall (tag, id_include, 1, INT2FIX (0)) == Qtrue)
- rb_raise (rb_eArgError, "tag must not contain binary zeroes");
+ CHECK_NO_BIN0 (tag);
/* libeet uses a signed 32bit integer to store the
* chunk size, so make sure we don't overflow it