]> git.saurik.com Git - redis.git/blobdiff - tests/support/redis.tcl
Merge pull request #414 from chobits/unstable
[redis.git] / tests / support / redis.tcl
index 4f8ac485dc69ffb29127927f8280c1a874cad4ec..99415b6409e91272862f696ac9829a894db305a5 100644 (file)
@@ -142,9 +142,15 @@ proc ::redis::redis_multi_bulk_read fd {
     set count [redis_read_line $fd]
     if {$count == -1} return {}
     set l {}
     set count [redis_read_line $fd]
     if {$count == -1} return {}
     set l {}
+    set err {}
     for {set i 0} {$i < $count} {incr i} {
     for {set i 0} {$i < $count} {incr i} {
-        lappend l [redis_read_reply $fd]
+        if {[catch {
+            lappend l [redis_read_reply $fd]
+        } e] && $err eq {}} {
+            set err $e
+        }
     }
     }
+    if {$err ne {}} {return -code error $err}
     return $l
 }
 
     return $l
 }
 
@@ -160,7 +166,7 @@ proc ::redis::redis_read_reply fd {
         - {return -code error [redis_read_line $fd]}
         $ {redis_bulk_read $fd}
         * {redis_multi_bulk_read $fd}
         - {return -code error [redis_read_line $fd]}
         $ {redis_bulk_read $fd}
         * {redis_multi_bulk_read $fd}
-        default {return -code error "Bad protocol, $type as reply type byte"}
+        default {return -code error "Bad protocol, '$type' as reply type byte"}
     }
 }
 
     }
 }