tBoth clients now follow HTTP redirects properly - vaccinewars - be a doctor and try to vaccinate the world (HTM) git clone git://src.adamsgaard.dk/vaccinewars (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit a1952c3b817dae1e9e9835751e2fe5dfe3e1fed5 (DIR) parent 6a9bc51c5cbdc06a9f7c5d49b4331755d54c9f55 (HTM) Author: Ben Webb <ben@salilab.org> Date: Thu, 4 Oct 2001 18:36:38 +0000 Both clients now follow HTTP redirects properly Diffstat: M src/curses_client.c | 2 +- M src/gtk_client.c | 2 +- M src/message.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) --- (DIR) diff --git a/src/curses_client.c b/src/curses_client.c t@@ -263,7 +263,7 @@ static gboolean SelectServerFromMetaServer(Player *Play,GString *errstr) { if (RespondToSelect(&MetaConn->NetBuf,&readfds,&writefds,NULL,&DoneOK)) { while (HandleWaitingMetaServerData(MetaConn,&ServerList)) {} } - if (!DoneOK) { + if (!DoneOK && HandleHttpCompletion(MetaConn)) { if (IsHttpError(MetaConn)) { g_string_assign_error(errstr,&MetaConn->NetBuf.error); CloseHttpConnection(MetaConn); (DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c t@@ -2045,7 +2045,7 @@ static void HandleMetaSock(gpointer data,gint socket, while (HandleWaitingMetaServerData(widgets->MetaConn, &widgets->NewMetaList)) {} } - if (!DoneOK) { + if (!DoneOK && HandleHttpCompletion(widgets->MetaConn)) { ConnectError(widgets,TRUE); CloseHttpConnection(widgets->MetaConn); widgets->MetaConn=NULL; (DIR) diff --git a/src/message.c b/src/message.c t@@ -322,7 +322,7 @@ gboolean HandleWaitingMetaServerData(HttpConnection *conn,GSList **listpt) { /* If we're done reading the headers, only read if the data for a whole server is available (8 lines) N.B. "Status" is from the _last_ read */ - if (conn->Status==HS_READBODY) { + if (conn->Status==HS_READBODY && conn->StatusCode==200) { if (CountWaitingMessages(&conn->NetBuf)<8) return FALSE; NewServer=g_new0(ServerData,1); t@@ -341,7 +341,7 @@ gboolean HandleWaitingMetaServerData(HttpConnection *conn,GSList **listpt) { NewServer->Comment=ReadHttpResponse(conn); NewServer->UpSince=ReadHttpResponse(conn); *listpt=g_slist_append(*listpt,NewServer); - } else if (conn->Status==HS_READSEPARATOR) { + } else if (conn->Status==HS_READSEPARATOR && conn->StatusCode==200) { /* This should be the first line of the body, the "MetaServer:" line */ msg=ReadHttpResponse(conn); if (!msg) return FALSE;