]> git.cworth.org Git - sup/commitdiff
bugfix: sporadic hash traversal error
authorWilliam Morgan <wmorgan-sup@masanjin.net>
Sun, 22 Mar 2009 17:41:56 +0000 (13:41 -0400)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Sun, 22 Mar 2009 17:41:56 +0000 (13:41 -0400)
Don't modify header hash in place while traversing with #each, because
apparently that's a problem for Ruby. But only sometimes.

Based on a patch by Rick Tessner <rick.tessner@gmail.com>.

lib/sup/message.rb

index e01e24582b7b99510f0ebfa8f857fff6b78cf8e2..0ac34fd4e36de2b02734ba867727368181f671d2 100644 (file)
@@ -64,7 +64,7 @@ class Message
   end
 
   def parse_header header
-    header.each { |k, v| header[k.downcase] = v }
+    header.keys.each { |k| header[k.downcase] = v } # canonicalize
 
     fakeid = nil
     fakename = nil