Store the result of rb_intern(pack) in a global variable.
[ruby-eet.git] / ext / ext.c
index 266cbfbbcb05f49fb843f761ea391bd832f84e3d..e686444dc605b65fcaaa1b3405c86b803c82db0f 100644 (file)
--- a/ext/ext.c
+++ b/ext/ext.c
@@ -1,5 +1,5 @@
 /*
- * $Id: ext.c 65 2005-06-28 18:40:59Z tilman $
+ * $Id: ext.c 66 2005-06-29 15:42:58Z tilman $
  *
  * Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
  *
@@ -51,7 +51,7 @@ static VALUE cStream, cChunk,
              eBadElementError,
              sym_lossy, sym_level, sym_quality, sym_char, sym_short,
              sym_long_long, sym_double;
-static ID id_include, id_serialize, id_keys,
+static ID id_include, id_serialize, id_keys, id_pack,
           id_to_eet_chunks, id_to_eet_name, id_to_eet_properties,
           id_tag, id_data;
 
@@ -620,7 +620,7 @@ int_to_eet_chunks (int argc, VALUE *argv, VALUE self)
                cfmt = "q";
 
        args[0] = tag;
-       args[1] = rb_funcall (ary, rb_intern ("pack"), 1, rb_str_new2 (cfmt));
+       args[1] = rb_funcall (ary, id_pack, 1, rb_str_new2 (cfmt));
        chunk = rb_class_new_instance (2, args, cChunk);
 
        return rb_ary_new3 (1, chunk);
@@ -700,6 +700,7 @@ Init_eet_ext ()
        id_include = rb_intern ("include?");
        id_serialize = rb_intern ("serialize");
        id_keys = rb_intern ("keys");
+       id_pack = rb_intern ("pack");
        id_to_eet_chunks = rb_intern ("to_eet_chunks");
        id_to_eet_name = rb_intern ("to_eet_name");
        id_to_eet_properties = rb_intern ("to_eet_properties");