<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,6 +2,7 @@
   * Bug Fixes
     * Fix bignum encoding
     * Prevent stack overflow for massive binaries in c decoder
+    * Optimize strings in c decoder
 
 == 1.1.0 / 2009-10-08
   * Minor Improvements</diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -156,16 +156,13 @@ VALUE read_string(unsigned char **pData) {
   }
 
   int length = read_2(pData);
-
-  unsigned char buf[length + 1];
-  read_string_raw(buf, pData, length);
-
   VALUE newref_class = rb_const_get(mErlectricity, rb_intern(&quot;List&quot;));
   VALUE array = rb_funcall(newref_class, rb_intern(&quot;new&quot;), 1, INT2NUM(length));
 
   int i = 0;
   for(i; i &lt; length; ++i) {
-    rb_ary_store(array, i, INT2NUM(*(buf + i)));
+    rb_ary_store(array, i, INT2NUM(**pData));
+    *pData += 1;
   }
 
   return array;</diff>
      <filename>ext/decoder.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b3dee26c8738a2ed821d8097c54f8fcda0c50cf5</id>
    </parent>
  </parents>
  <author>
    <name>Tom Preston-Werner</name>
    <email>tom@mojombo.com</email>
  </author>
  <url>http://github.com/mojombo/erlectricity/commit/4234b626d65cac01986fc8f6cc031d04aa96eb61</url>
  <id>4234b626d65cac01986fc8f6cc031d04aa96eb61</id>
  <committed-date>2009-10-28T12:37:50-07:00</committed-date>
  <authored-date>2009-10-28T12:37:50-07:00</authored-date>
  <message>optimize strings in c decoder</message>
  <tree>e2aa8924f5f35281e486b484b6978606469e9293</tree>
  <committer>
    <name>Tom Preston-Werner</name>
    <email>tom@mojombo.com</email>
  </committer>
</commit>
