From 92e889c8856ce16f58cf6aefb7f11f0ff189be29 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:51:17 +0000 Subject: HTTP bugs Author: jgg Date: 1998-11-01 08:07:11 GMT HTTP bugs --- apt-pkg/acquire-method.cc | 17 ++++++++++------- apt-pkg/contrib/strutl.cc | 10 ++++++---- 2 files changed, 16 insertions(+), 11 deletions(-) (limited to 'apt-pkg') diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index 0629995a0..8d26537fa 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-method.cc,v 1.2 1998/11/01 05:27:30 jgg Exp $ +// $Id: acquire-method.cc,v 1.3 1998/11/01 08:07:11 jgg Exp $ /* ###################################################################### Acquire Method @@ -47,6 +47,8 @@ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags) exit(100); SetNonBlock(STDIN_FILENO,true); + + Queue = 0; } /*}}}*/ // AcqMethod::Fail - A fetch has failed /*{{{*/ @@ -220,11 +222,11 @@ int pkgAcqMethod::Run(bool Single) if (Single == false) if (WaitFd(STDIN_FILENO) == false) return 0; - } - - if (ReadMessages(STDIN_FILENO,Messages) == false) - return 0; + if (ReadMessages(STDIN_FILENO,Messages) == false) + return 0; + } + // Single mode exits if the message queue is empty if (Single == true && Messages.empty() == true) return 0; @@ -259,8 +261,9 @@ int pkgAcqMethod::Run(bool Single) // Append it to the list FetchItem **I = &Queue; - for (; *I != 0 && (*I)->Next != 0; I = &(*I)->Next); + for (; *I != 0; I = &(*I)->Next); *I = Tmp; + cout << "GOT " << Tmp->Uri << endl; if (Fetch(Tmp) == false) Fail(); @@ -310,7 +313,7 @@ void pkgAcqMethod::Status(const char *Format,...) // sprintf the description char S[1024]; - unsigned int Len = snprintf(S,sizeof(S),"101 Log\nURI: %s\n" + unsigned int Len = snprintf(S,sizeof(S),"101 Status\nURI: %s\n" "Message: ",CurrentURI.c_str()); vsnprintf(S+Len,sizeof(S)-Len,Format,args); diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index 2c3106ceb..5efa6f60b 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: strutl.cc,v 1.10 1998/11/01 05:27:37 jgg Exp $ +// $Id: strutl.cc,v 1.11 1998/11/01 08:07:12 jgg Exp $ /* ###################################################################### String Util - Some usefull string functions. @@ -627,7 +627,7 @@ void URI::CopyFrom(string U) // Locate the single / that starts the path for (; I < U.end(); I++) { - if (*I == '/' && I[1] == '/') + if (*I == '/' && I+1 < U.end() && I[1] == '/') I += 2; else if (*I == '/') @@ -641,8 +641,10 @@ void URI::CopyFrom(string U) // We can now write the access and path specifiers Access = string(U,0,FirstColon - U.begin()); if (SingleSlash != U.end()) - Path = string(U,SingleSlash - U.begin() + 1); - + Path = string(U,SingleSlash - U.begin()); + if (Path.empty() == true) + Path = "/"; + // Now we attempt to locate a user:pass@host fragment FirstColon += 3; if (FirstColon >= U.end()) -- cgit v1.2.3-70-g09d2