<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -490,7 +490,12 @@ static inline VALUE cState_configure(VALUE self, VALUE opts)
         state-&gt;object_nl = tmp;
     }
     tmp = ID2SYM(i_check_circular);
+
+#if WITH_OBJC
+    if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
     if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
         tmp = rb_hash_aref(opts, ID2SYM(i_check_circular));
         state-&gt;check_circular = RTEST(tmp);
     } else {
@@ -498,7 +503,11 @@ static inline VALUE cState_configure(VALUE self, VALUE opts)
     }
     tmp = ID2SYM(i_max_nesting);
     state-&gt;max_nesting = 19;
+#if WITH_OBJC
+    if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
     if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
         VALUE max_nesting = rb_hash_aref(opts, tmp);
         if (RTEST(max_nesting)) {
             Check_Type(max_nesting, T_FIXNUM);</diff>
      <filename>ext/json/ext/generator/generator.c</filename>
    </modified>
    <modified>
      <diff>@@ -1473,7 +1473,11 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
             rb_raise(rb_eArgError, &quot;opts needs to be like a hash&quot;);
         } else {
             VALUE tmp = ID2SYM(i_max_nesting);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE max_nesting = rb_hash_aref(opts, tmp);
                 if (RTEST(max_nesting)) {
                     Check_Type(max_nesting, T_FIXNUM);
@@ -1485,14 +1489,22 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
                 json-&gt;max_nesting = 19;
             }
             tmp = ID2SYM(i_allow_nan);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE allow_nan = rb_hash_aref(opts, tmp);
                 json-&gt;allow_nan = RTEST(allow_nan) ? 1 : 0;
             } else {
                 json-&gt;allow_nan = 0;
             }
             tmp = ID2SYM(i_create_additions);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE create_additions = rb_hash_aref(opts, tmp);
                 if (RTEST(create_additions)) {
                     json-&gt;create_id = rb_funcall(mJSON, i_create_id, 0);</diff>
      <filename>ext/json/ext/parser/parser.c</filename>
    </modified>
    <modified>
      <diff>@@ -498,7 +498,11 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
             rb_raise(rb_eArgError, &quot;opts needs to be like a hash&quot;);
         } else {
             VALUE tmp = ID2SYM(i_max_nesting);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE max_nesting = rb_hash_aref(opts, tmp);
                 if (RTEST(max_nesting)) {
                     Check_Type(max_nesting, T_FIXNUM);
@@ -510,14 +514,22 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
                 json-&gt;max_nesting = 19;
             }
             tmp = ID2SYM(i_allow_nan);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE allow_nan = rb_hash_aref(opts, tmp);
                 json-&gt;allow_nan = RTEST(allow_nan) ? 1 : 0;
             } else {
                 json-&gt;allow_nan = 0;
             }
             tmp = ID2SYM(i_create_additions);
+#if WITH_OBJC
+            if (CFDictionaryGetValueIfPresent((CFDictionaryRef)opts, (const void *)RB2OC(tmp), 0)) {
+#else
             if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+#endif
                 VALUE create_additions = rb_hash_aref(opts, tmp);
                 if (RTEST(create_additions)) {
                     json-&gt;create_id = rb_funcall(mJSON, i_create_id, 0);</diff>
      <filename>ext/json/ext/parser/parser.rl</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a52a9bf1cb47c5211a3c1466d33b3d40338824e2</id>
    </parent>
  </parents>
  <author>
    <name>lsansonetti@apple.com</name>
    <email>lsansonetti@apple.com@23306eb0-4c56-4727-a40e-e92c0eb68959</email>
  </author>
  <url>http://github.com/masterkain/macruby/commit/81f5714e51a85b8c244d8c4744ba0b5b29d237ab</url>
  <id>81f5714e51a85b8c244d8c4744ba0b5b29d237ab</id>
  <committed-date>2009-05-29T14:17:51-07:00</committed-date>
  <authored-date>2009-05-29T14:17:51-07:00</authored-date>
  <message>fix for #257 (patch by Dan Sinclair)

git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@1635 23306eb0-4c56-4727-a40e-e92c0eb68959</message>
  <tree>be00a3a7fab66f85061452354ddc028396a9b7de</tree>
  <committer>
    <name>lsansonetti@apple.com</name>
    <email>lsansonetti@apple.com@23306eb0-4c56-4727-a40e-e92c0eb68959</email>
  </committer>
</commit>
