diff options
author | patthoyts <patthoyts@users.sourceforge.net> | 2008-02-22 11:36:49 (GMT) |
---|---|---|
committer | patthoyts <patthoyts@users.sourceforge.net> | 2008-02-22 11:36:49 (GMT) |
commit | 36907337fa37b07da48dd6d2f7027a12f58a2316 (patch) | |
tree | ca6382f00ebc1cc60a446ce3d56f282d88b0ec46 | |
parent | 214cb20532ed73615bc262e1a925494e9c0e0e25 (diff) | |
download | tcl-36907337fa37b07da48dd6d2f7027a12f58a2316.zip tcl-36907337fa37b07da48dd6d2f7027a12f58a2316.tar.gz tcl-36907337fa37b07da48dd6d2f7027a12f58a2316.tar.bz2 |
Fix for #1815865 - always check the existence of the state array when checking http::status
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | library/http/http.tcl | 9 | ||||
-rw-r--r-- | library/http/pkgIndex.tcl | 2 |
3 files changed, 12 insertions, 5 deletions
@@ -1,3 +1,9 @@ +2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.net> + + * library/http/pkgIndex.tcl: Set version 2.5.4 + * library/http/http.tcl: Fix for bug #1818565. Always check that + the state array exists in the http::status command. + 2008-02-06 Don Porter <dgp@users.sourceforge.net> *** 8.4.18 TAGGED FOR RELEASE *** diff --git a/library/http/http.tcl b/library/http/http.tcl index c412f6e..cc91421 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -8,7 +8,7 @@ # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: http.tcl,v 1.43.2.13 2006/10/06 05:56:48 hobbs Exp $ +# RCS: @(#) $Id: http.tcl,v 1.43.2.14 2008/02/22 11:36:56 patthoyts Exp $ # Rough version history: # 1.0 Old http_get interface. @@ -24,7 +24,7 @@ package require Tcl 8.4 # Keep this in sync with pkgIndex.tcl and with the install directories # in Makefiles -package provide http 2.5.3 +package provide http 2.5.4 namespace eval http { variable http @@ -632,6 +632,7 @@ proc http::data {token} { return $state(body) } proc http::status {token} { + if {![info exists $token]} { return "error" } variable $token upvar 0 $token state return $state(status) @@ -940,7 +941,7 @@ proc http::Eof {token} { # http::wait -- # -# See documentaion for details. +# See documentation for details. # # Arguments: # token Connection token. @@ -957,7 +958,7 @@ proc http::wait {token} { vwait $token\(status) } - return $state(status) + return [status $token] } # http::formatQuery -- diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl index af88a2e..eaf0c86 100644 --- a/library/http/pkgIndex.tcl +++ b/library/http/pkgIndex.tcl @@ -9,4 +9,4 @@ # full path name of this file's directory. if {![package vsatisfies [package provide Tcl] 8.4]} {return} -package ifneeded http 2.5.3 [list tclPkgSetup $dir http 2.5.3 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] +package ifneeded http 2.5.4 [list tclPkgSetup $dir http 2.5.4 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] |