--
-$Id: ChangeLog 34 2005-04-30 13:15:19Z tilman $
+$Id: ChangeLog 35 2005-05-10 18:58:49Z tilman $
++
+2005-05-10 Tilman Sauerbeck (tilman at code-monkey de)
+ * ext/ext.c: Store the result of rb_intern("include?") in a
+ global variable, since it's used very often
+
2005-04-30 Tilman Sauerbeck (tilman at code-monkey de)
* lib/eet.rb: Tweaked Stream#serialize for performance
* lib/eet.rb, ext/ext.c: Re-implemented Stream#serialize and
/*
- * $Id: ext.c 34 2005-04-30 13:15:19Z tilman $
+ * $Id: ext.c 35 2005-05-10 18:58:49Z tilman $
*
* Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
*
#include <ruby.h>
#define CHECK_KEY(key) \
- if (rb_funcall (key, rb_intern ("include?"), \
- 1, INT2FIX (0)) == Qtrue) \
+ if (rb_funcall (key, id_include, 1, INT2FIX (0)) == Qtrue) \
rb_raise (rb_eArgError, "key must not contain binary zeroes");
#define CHECK_CLOSED(ef) \
static VALUE c_close (VALUE self);
+static VALUE id_include;
+
static void
c_free (Eet_File **ef)
{
c = rb_define_class_under (m, "Chunk", rb_cObject);
rb_define_method (c, "serialize", chunk_serialize, 0);
+
+ id_include = rb_intern ("include?");
}