summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpatthoyts <patthoyts@users.sourceforge.net>2008-02-22 10:56:38 (GMT)
committerpatthoyts <patthoyts@users.sourceforge.net>2008-02-22 10:56:38 (GMT)
commit9c4dbb88d7e4bb7dcffb0116a219bd6d09c28673 (patch)
tree8e659f069abb4304b0e921b22c7a027b97e6291a
parent7ef524d53becde0248b676f1849e769fc0a9c4eb (diff)
downloadtcl-9c4dbb88d7e4bb7dcffb0116a219bd6d09c28673.zip
tcl-9c4dbb88d7e4bb7dcffb0116a219bd6d09c28673.tar.gz
tcl-9c4dbb88d7e4bb7dcffb0116a219bd6d09c28673.tar.bz2
Fix for bug #1818565. Always check that the state array exists in the http::status command. Set version 2.5.4
-rw-r--r--ChangeLog6
-rw-r--r--library/http/http.tcl8
-rw-r--r--library/http/pkgIndex.tcl2
-rw-r--r--unix/Makefile.in6
-rw-r--r--win/Makefile.in6
5 files changed, 17 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index f8b10bc..0808e6e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-13 Don Porter <dgp@users.sourceforge.net>
* generic/tcl.h: Bump version number to 8.5.2b1 to distinguish
diff --git a/library/http/http.tcl b/library/http/http.tcl
index f307a20..2888def 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.60 2007/03/12 22:08:40 patthoyts Exp $
+# RCS: @(#) $Id: http.tcl,v 1.61 2008/02/22 10:56:40 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,7 +632,7 @@ proc http::data {token} {
return $state(body)
}
proc http::status {token} {
- variable $token
+ if {![info exists $token]} { return "error" }
upvar 0 $token state
return $state(status)
}
@@ -957,7 +957,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}}}]
diff --git a/unix/Makefile.in b/unix/Makefile.in
index d7c9123..e95fa19 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.225 2007/12/13 15:28:40 dgp Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.226 2008/02/22 10:56:41 patthoyts Exp $
VERSION = @TCL_VERSION@
MAJOR_VERSION = @TCL_MAJOR_VERSION@
@@ -782,8 +782,8 @@ install-libraries: libraries $(INSTALL_TZDATA) install-msgs
do \
$(INSTALL_DATA) $$j $(SCRIPT_INSTALL_DIR)/http1.0; \
done;
- @echo "Installing package http 2.5.3 as a Tcl Module";
- @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/http-2.5.3.tm;
+ @echo "Installing package http 2.5.4 as a Tcl Module";
+ @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/http-2.5.4.tm;
@echo "Installing library opt0.4 directory";
@for j in $(TOP_DIR)/library/opt/*.tcl ; \
do \
diff --git a/win/Makefile.in b/win/Makefile.in
index e6802cd..17006e8 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.121 2007/12/13 15:28:43 dgp Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.122 2008/02/22 10:56:42 patthoyts Exp $
VERSION = @TCL_VERSION@
@@ -635,8 +635,8 @@ install-libraries: libraries install-tzdata install-msgs
do \
$(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \
done;
- @echo "Installing package http 2.5.3 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/http-2.5.3.tm;
+ @echo "Installing package http 2.5.4 as a Tcl Module";
+ @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/http-2.5.4.tm;
@echo "Installing library opt0.4 directory";
@for j in $(ROOT_DIR)/library/opt/*.tcl; \
do \