Browse Source

* applied parts of the string speedup patch from debian #319377 (ABI change)

debian/1.8.y
Michael Vogt 17 years ago
parent
commit
171c75f13a
  1. 26
      apt-pkg/contrib/configuration.cc
  2. 28
      apt-pkg/contrib/configuration.h
  3. 2
      apt-pkg/contrib/mmap.h
  4. 4
      apt-pkg/contrib/progress.cc
  5. 4
      apt-pkg/contrib/progress.h
  6. 67
      apt-pkg/contrib/strutl.cc
  7. 26
      apt-pkg/contrib/strutl.h
  8. 4
      apt-pkg/deb/deblistparser.cc
  9. 4
      apt-pkg/pkgcache.cc
  10. 6
      apt-pkg/pkgcache.h
  11. 16
      apt-pkg/pkgcachegen.cc
  12. 17
      apt-pkg/pkgcachegen.h
  13. 2
      configure.in
  14. 3
      debian/changelog
  15. 185
      po/apt-all.pot
  16. 58
      po/bs.po
  17. 58
      po/ca.po
  18. 58
      po/cs.po
  19. 58
      po/da.po
  20. 58
      po/de.po
  21. 58
      po/el.po
  22. 58
      po/en_GB.po
  23. 58
      po/es.po
  24. 58
      po/eu.po
  25. 58
      po/fi.po
  26. 58
      po/fr.po
  27. 58
      po/he.po
  28. 58
      po/hu.po
  29. 58
      po/it.po
  30. 58
      po/ja.po
  31. 58
      po/ko.po
  32. 58
      po/nb.po
  33. 58
      po/nl.po
  34. 58
      po/nn.po
  35. 58
      po/pl.po
  36. 58
      po/pt.po
  37. 58
      po/pt_BR.po
  38. 58
      po/ro.po
  39. 58
      po/ru.po
  40. 58
      po/sk.po
  41. 58
      po/sl.po
  42. 58
      po/sv.po
  43. 58
      po/tl.po
  44. 58
      po/zh_CN.po
  45. 58
      po/zh_TW.po

26
apt-pkg/contrib/configuration.cc

@ -110,7 +110,7 @@ Configuration::Item *Configuration::Lookup(Item *Head,const char *S,
return 0;
I = new Item;
I->Tag = string(S,Len);
I->Tag.assign(S,Len);
I->Next = *Last;
I->Parent = Head;
*Last = I;
@ -161,7 +161,7 @@ string Configuration::Find(const char *Name,const char *Default) const
if (Itm == 0 || Itm->Value.empty() == true)
{
if (Default == 0)
return string();
return "";
else
return Default;
}
@ -180,7 +180,7 @@ string Configuration::FindFile(const char *Name,const char *Default) const
if (Itm == 0 || Itm->Value.empty() == true)
{
if (Default == 0)
return string();
return "";
else
return Default;
}
@ -294,7 +294,7 @@ string Configuration::FindAny(const char *Name,const char *Default) const
// Configuration::CndSet - Conditinal Set a value /*{{{*/
// ---------------------------------------------------------------------
/* This will not overwrite */
void Configuration::CndSet(const char *Name,string Value)
void Configuration::CndSet(const char *Name,const string &Value)
{
Item *Itm = Lookup(Name,true);
if (Itm == 0)
@ -306,7 +306,7 @@ void Configuration::CndSet(const char *Name,string Value)
// Configuration::Set - Set a value /*{{{*/
// ---------------------------------------------------------------------
/* */
void Configuration::Set(const char *Name,string Value)
void Configuration::Set(const char *Name,const string &Value)
{
Item *Itm = Lookup(Name,true);
if (Itm == 0)
@ -330,7 +330,7 @@ void Configuration::Set(const char *Name,int Value)
// Configuration::Clear - Clear an single value from a list /*{{{*/
// ---------------------------------------------------------------------
/* */
void Configuration::Clear(string Name, int Value)
void Configuration::Clear(const string Name, int Value)
{
char S[300];
snprintf(S,sizeof(S),"%i",Value);
@ -340,7 +340,7 @@ void Configuration::Clear(string Name, int Value)
// Configuration::Clear - Clear an single value from a list /*{{{*/
// ---------------------------------------------------------------------
/* */
void Configuration::Clear(string Name, string Value)
void Configuration::Clear(const string Name, string Value)
{
Item *Top = Lookup(Name.c_str(),false);
if (Top == 0 || Top->Child == 0)
@ -377,7 +377,7 @@ void Configuration::Clear(string Name)
if (Top == 0)
return;
Top->Value = string();
Top->Value.clear();
Item *Stop = Top;
Top = Top->Child;
Stop->Child = 0;
@ -485,7 +485,7 @@ string Configuration::Item::FullTag(const Item *Stop) const
sections like 'zone "foo.org" { .. };' This causes each section to be
added in with a tag like "zone::foo.org" instead of being split
tag/value. AsSectional enables Sectional parsing.*/
bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional,
bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
unsigned Depth)
{
// Open the stream for reading
@ -711,13 +711,13 @@ bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional,
}
// Empty the buffer
LineBuffer = string();
LineBuffer.clear();
// Move up a tag, but only if there is no bit to parse
if (TermChar == '}')
{
if (StackPos == 0)
ParentTag = string();
ParentTag.clear();
else
ParentTag = Stack[--StackPos];
}
@ -742,8 +742,8 @@ bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional,
// ReadConfigDir - Read a directory of config files /*{{{*/
// ---------------------------------------------------------------------
/* */
bool ReadConfigDir(Configuration &Conf,string Dir,bool AsSectional,
unsigned Depth)
bool ReadConfigDir(Configuration &Conf,const string &Dir,bool AsSectional,
unsigned Depth)
{
DIR *D = opendir(Dir.c_str());
if (D == 0)

28
apt-pkg/contrib/configuration.h

@ -69,30 +69,30 @@ class Configuration
public:
string Find(const char *Name,const char *Default = 0) const;
string Find(string Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};
string Find(const string Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};
string FindFile(const char *Name,const char *Default = 0) const;
string FindDir(const char *Name,const char *Default = 0) const;
int FindI(const char *Name,int Default = 0) const;
int FindI(string Name,int Default = 0) const {return FindI(Name.c_str(),Default);};
int FindI(const string Name,int Default = 0) const {return FindI(Name.c_str(),Default);};
bool FindB(const char *Name,bool Default = false) const;
bool FindB(string Name,bool Default = false) const {return FindB(Name.c_str(),Default);};
bool FindB(const string Name,bool Default = false) const {return FindB(Name.c_str(),Default);};
string FindAny(const char *Name,const char *Default = 0) const;
inline void Set(string Name,string Value) {Set(Name.c_str(),Value);};
void CndSet(const char *Name,string Value);
void Set(const char *Name,string Value);
inline void Set(const string Name,string Value) {Set(Name.c_str(),Value);};
void CndSet(const char *Name,const string &Value);
void Set(const char *Name,const string &Value);
void Set(const char *Name,int Value);
inline bool Exists(string Name) const {return Exists(Name.c_str());};
inline bool Exists(const string Name) const {return Exists(Name.c_str());};
bool Exists(const char *Name) const;
bool ExistsAny(const char *Name) const;
// clear a whole tree
void Clear(string Name);
void Clear(const string Name);
// remove a certain value from a list (e.g. the list of "APT::Keep-Fds")
void Clear(string List, string Value);
void Clear(string List, int Value);
void Clear(const string List, string Value);
void Clear(const string List, int Value);
inline const Item *Tree(const char *Name) const {return Lookup(Name);};
@ -106,10 +106,12 @@ class Configuration
extern Configuration *_config;
bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional = false,
bool ReadConfigFile(Configuration &Conf,const string &FName,
bool AsSectional = false,
unsigned Depth = 0);
bool ReadConfigDir(Configuration &Conf,string Dir,bool AsSectional = false,
unsigned Depth = 0);
bool ReadConfigDir(Configuration &Conf,const string &Dir,
bool AsSectional = false,
unsigned Depth = 0);
#endif

2
apt-pkg/contrib/mmap.h

@ -94,7 +94,7 @@ class DynamicMMap : public MMap
unsigned long RawAllocate(unsigned long Size,unsigned long Aln = 0);
unsigned long Allocate(unsigned long ItemSize);
unsigned long WriteString(const char *String,unsigned long Len = (unsigned long)-1);
inline unsigned long WriteString(string S) {return WriteString(S.c_str(),S.length());};
inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());};
void UsePools(Pool &P,unsigned int Count) {Pools = &P; PoolCount = Count;};
DynamicMMap(FileFd &F,unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);

4
apt-pkg/contrib/progress.cc

@ -50,7 +50,7 @@ void OpProgress::Progress(unsigned long Cur)
// ---------------------------------------------------------------------
/* */
void OpProgress::OverallProgress(unsigned long Current, unsigned long Total,
unsigned long Size,string Op)
unsigned long Size,const string &Op)
{
this->Current = Current;
this->Total = Total;
@ -67,7 +67,7 @@ void OpProgress::OverallProgress(unsigned long Current, unsigned long Total,
// OpProgress::SubProgress - Set the sub progress state /*{{{*/
// ---------------------------------------------------------------------
/* */
void OpProgress::SubProgress(unsigned long SubTotal,string Op)
void OpProgress::SubProgress(unsigned long SubTotal,const string &Op)
{
this->SubTotal = SubTotal;
SubOp = Op;

4
apt-pkg/contrib/progress.h

@ -59,9 +59,9 @@ class OpProgress
void Progress(unsigned long Current);
void SubProgress(unsigned long SubTotal);
void SubProgress(unsigned long SubTotal,string Op);
void SubProgress(unsigned long SubTotal,const string &Op);
void OverallProgress(unsigned long Current,unsigned long Total,
unsigned long Size,string Op);
unsigned long Size,const string &Op);
virtual void Done() {};
OpProgress();

67
apt-pkg/contrib/strutl.cc

@ -199,10 +199,10 @@ bool ParseCWord(const char *&String,string &Res)
// QuoteString - Convert a string into quoted from /*{{{*/
// ---------------------------------------------------------------------
/* */
string QuoteString(string Str,const char *Bad)
string QuoteString(const string &Str, const char *Bad)
{
string Res;
for (string::iterator I = Str.begin(); I != Str.end(); I++)
for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
{
if (strchr(Bad,*I) != 0 || isprint(*I) == 0 ||
*I <= 0x20 || *I >= 0x7F)
@ -220,7 +220,7 @@ string QuoteString(string Str,const char *Bad)
// DeQuoteString - Convert a string from quoted from /*{{{*/
// ---------------------------------------------------------------------
/* This undoes QuoteString */
string DeQuoteString(string Str)
string DeQuoteString(const string &Str)
{
string Res;
for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
@ -317,7 +317,7 @@ string TimeToStr(unsigned long Sec)
// SubstVar - Substitute a string for another string /*{{{*/
// ---------------------------------------------------------------------
/* This replaces all occurances of Subst with Contents in Str. */
string SubstVar(string Str,string Subst,string Contents)
string SubstVar(const string &Str,const string &Subst,const string &Contents)
{
string::size_type Pos = 0;
string::size_type OldPos = 0;
@ -348,21 +348,18 @@ string SubstVar(string Str,const struct SubstVar *Vars)
/* This converts a URI into a safe filename. It quotes all unsafe characters
and converts / to _ and removes the scheme identifier. The resulting
file name should be unique and never occur again for a different file */
string URItoFileName(string URI)
string URItoFileName(const string &URI)
{
// Nuke 'sensitive' items
::URI U(URI);
U.User = string();
U.Password = string();
U.Access = "";
U.User.clear();
U.Password.clear();
U.Access.clear();
// "\x00-\x20{}|\\\\^\\[\\]<>\"\x7F-\xFF";
URI = QuoteString(U,"\\|{}[]<>\"^~_=!@#$%^&*");
string::iterator J = URI.begin();
for (; J != URI.end(); J++)
if (*J == '/')
*J = '_';
return URI;
string NewURI = QuoteString(U,"\\|{}[]<>\"^~_=!@#$%^&*");
replace(NewURI.begin(),NewURI.end(),'/','_');
return NewURI;
}
/*}}}*/
// Base64Encode - Base64 Encoding routine for short strings /*{{{*/
@ -371,7 +368,7 @@ string URItoFileName(string URI)
from wget and then patched and bug fixed.
This spec can be found in rfc2045 */
string Base64Encode(string S)
string Base64Encode(const string &S)
{
// Conversion table.
static char tbl[64] = {'A','B','C','D','E','F','G','H',
@ -540,17 +537,17 @@ int stringcasecmp(string::const_iterator A,string::const_iterator AEnd,
// ---------------------------------------------------------------------
/* The format is like those used in package files and the method
communication system */
string LookupTag(string Message,const char *Tag,const char *Default)
string LookupTag(const string &Message,const char *Tag,const char *Default)
{
// Look for a matching tag.
int Length = strlen(Tag);
for (string::iterator I = Message.begin(); I + Length < Message.end(); I++)
for (string::const_iterator I = Message.begin(); I + Length < Message.end(); I++)
{
// Found the tag
if (I[Length] == ':' && stringcasecmp(I,I+Length,Tag) == 0)
{
// Find the end of line and strip the leading/trailing spaces
string::iterator J;
string::const_iterator J;
I += Length + 1;
for (; isspace(*I) != 0 && I < Message.end(); I++);
for (J = I; *J != '\n' && J < Message.end(); J++);
@ -572,7 +569,7 @@ string LookupTag(string Message,const char *Tag,const char *Default)
// ---------------------------------------------------------------------
/* This inspects the string to see if it is true or if it is false and
then returns the result. Several varients on true/false are checked. */
int StringToBool(string Text,int Default)
int StringToBool(const string &Text,int Default)
{
char *End;
int Res = strtol(Text.c_str(),&End,0);
@ -738,7 +735,7 @@ static time_t timegm(struct tm *t)
'timegm' to convert a struct tm in UTC to a time_t. For some bizzar
reason the C library does not provide any such function :< This also
handles the weird, but unambiguous FTP time format*/
bool StrToTime(string Val,time_t &Result)
bool StrToTime(const string &Val,time_t &Result)
{
struct tm Tm;
char Month[10];
@ -825,7 +822,7 @@ static int HexDigit(int c)
// Hex2Num - Convert a long hex number into a buffer /*{{{*/
// ---------------------------------------------------------------------
/* The length of the buffer must be exactly 1/2 the length of the string. */
bool Hex2Num(string Str,unsigned char *Num,unsigned int Length)
bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length)
{
if (Str.length() != Length*2)
return false;
@ -986,7 +983,7 @@ char *safe_snprintf(char *Buffer,char *End,const char *Format,...)
// ---------------------------------------------------------------------
/* The domain list is a comma seperate list of domains that are suffix
matched against the argument */
bool CheckDomainList(string Host,string List)
bool CheckDomainList(const string &Host,const string &List)
{
string::const_iterator Start = List.begin();
for (string::const_iterator Cur = List.begin(); Cur <= List.end(); Cur++)
@ -1009,7 +1006,7 @@ bool CheckDomainList(string Host,string List)
// URI::CopyFrom - Copy from an object /*{{{*/
// ---------------------------------------------------------------------
/* This parses the URI into all of its components */
void URI::CopyFrom(string U)
void URI::CopyFrom(const string &U)
{
string::const_iterator I = U.begin();
@ -1038,9 +1035,9 @@ void URI::CopyFrom(string U)
SingleSlash = U.end();
// We can now write the access and path specifiers
Access = string(U,0,FirstColon - U.begin());
Access.assign(U.begin(),FirstColon);
if (SingleSlash != U.end())
Path = string(U,SingleSlash - U.begin());
Path.assign(SingleSlash,U.end());
if (Path.empty() == true)
Path = "/";
@ -1070,14 +1067,14 @@ void URI::CopyFrom(string U)
if (At == SingleSlash)
{
if (FirstColon < SingleSlash)
Host = string(U,FirstColon - U.begin(),SingleSlash - FirstColon);
Host.assign(FirstColon,SingleSlash);
}
else
{
Host = string(U,At - U.begin() + 1,SingleSlash - At - 1);
User = string(U,FirstColon - U.begin(),SecondColon - FirstColon);
Host.assign(At+1,SingleSlash);
User.assign(FirstColon,SecondColon);
if (SecondColon < At)
Password = string(U,SecondColon - U.begin() + 1,At - SecondColon - 1);
Password.assign(SecondColon+1,At);
}
// Now we parse the RFC 2732 [] hostnames.
@ -1105,7 +1102,7 @@ void URI::CopyFrom(string U)
// Tsk, weird.
if (InBracket == true)
{
Host = string();
Host.clear();
return;
}
@ -1116,7 +1113,7 @@ void URI::CopyFrom(string U)
return;
Port = atoi(string(Host,Pos+1).c_str());
Host = string(Host,0,Pos);
Host.assign(Host,0,Pos);
}
/*}}}*/
// URI::operator string - Convert the URI to a string /*{{{*/
@ -1171,12 +1168,12 @@ URI::operator string()
// URI::SiteOnly - Return the schema and site for the URI /*{{{*/
// ---------------------------------------------------------------------
/* */
string URI::SiteOnly(string URI)
string URI::SiteOnly(const string &URI)
{
::URI U(URI);
U.User = string();
U.Password = string();
U.Path = string();
U.User.clear();
U.Password.clear();
U.Path.clear();
U.Port = 0;
return U;
}

26
apt-pkg/contrib/strutl.h

@ -43,24 +43,24 @@ char *_strstrip(char *String);
char *_strtabexpand(char *String,size_t Len);
bool ParseQuoteWord(const char *&String,string &Res);
bool ParseCWord(const char *&String,string &Res);
string QuoteString(string Str,const char *Bad);
string DeQuoteString(string Str);
string QuoteString(const string &Str,const char *Bad);
string DeQuoteString(const string &Str);
string SizeToStr(double Bytes);
string TimeToStr(unsigned long Sec);
string Base64Encode(string Str);
string URItoFileName(string URI);
string Base64Encode(const string &Str);
string URItoFileName(const string &URI);
string TimeRFC1123(time_t Date);
bool StrToTime(string Val,time_t &Result);
string LookupTag(string Message,const char *Tag,const char *Default = 0);
int StringToBool(string Text,int Default = -1);
bool StrToTime(const string &Val,time_t &Result);
string LookupTag(const string &Message,const char *Tag,const char *Default = 0);
int StringToBool(const string &Text,int Default = -1);
bool ReadMessages(int Fd, vector<string> &List);
bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base = 0);
bool Hex2Num(string Str,unsigned char *Num,unsigned int Length);
bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length);
bool TokSplitString(char Tok,char *Input,char **List,
unsigned long ListMax);
void ioprintf(ostream &out,const char *format,...) APT_FORMAT2;
char *safe_snprintf(char *Buffer,char *End,const char *Format,...) APT_FORMAT3;
bool CheckDomainList(string Host,string List);
bool CheckDomainList(const string &Host, const string &List);
#define APT_MKSTRCMP(name,func) \
inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \
@ -101,7 +101,7 @@ inline const char *DeNull(const char *s) {return (s == 0?"(null)":s);};
class URI
{
void CopyFrom(string From);
void CopyFrom(const string &From);
public:
@ -113,9 +113,9 @@ class URI
unsigned int Port;
operator string();
inline void operator =(string From) {CopyFrom(From);};
inline void operator =(const string &From) {CopyFrom(From);};
inline bool empty() {return Access.empty();};
static string SiteOnly(string URI);
static string SiteOnly(const string &URI);
URI(string Path) {CopyFrom(Path);};
URI() : Port(0) {};
@ -127,7 +127,7 @@ struct SubstVar
const string *Contents;
};
string SubstVar(string Str,const struct SubstVar *Vars);
string SubstVar(string Str,string Subst,string Contents);
string SubstVar(const string &Str,const string &Subst,const string &Contents);
struct RxChoiceList
{

4
apt-pkg/deb/deblistparser.cc

@ -377,12 +377,12 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
const char *End = I;
for (; End > Start && isspace(End[-1]); End--);
Ver = string(Start,End-Start);
Ver.assign(Start,End-Start);
I++;
}
else
{
Ver = string();
Ver.clear();
Op = pkgCache::Dep::NoOp;
}

4
apt-pkg/pkgcache.cc

@ -153,7 +153,7 @@ bool pkgCache::ReMap()
/* This is used to generate the hash entries for the HashTable. With my
package list from bo this function gets 94% table usage on a 512 item
table (480 used items) */
unsigned long pkgCache::sHash(string Str) const
unsigned long pkgCache::sHash(const string &Str) const
{
unsigned long Hash = 0;
for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
@ -173,7 +173,7 @@ unsigned long pkgCache::sHash(const char *Str) const
// Cache::FindPkg - Locate a package by name /*{{{*/
// ---------------------------------------------------------------------
/* Returns 0 on error, pointer to the package otherwise */
pkgCache::PkgIterator pkgCache::FindPkg(string Name)
pkgCache::PkgIterator pkgCache::FindPkg(const string &Name)
{
// Look at the hash bucket
Package *Pkg = PkgP + HeaderP->HashTable[Hash(Name)];

6
apt-pkg/pkgcache.h

@ -89,7 +89,7 @@ class pkgCache
string CacheFile;
MMap &Map;
unsigned long sHash(string S) const;
unsigned long sHash(const string &S) const;
unsigned long sHash(const char *S) const;
public:
@ -111,14 +111,14 @@ class pkgCache
inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();};
// String hashing function (512 range)
inline unsigned long Hash(string S) const {return sHash(S);};
inline unsigned long Hash(const string &S) const {return sHash(S);};
inline unsigned long Hash(const char *S) const {return sHash(S);};
// Usefull transformation things
const char *Priority(unsigned char Priority);
// Accessors
PkgIterator FindPkg(string Name);
PkgIterator FindPkg(const string &Name);
Header &Head() {return *HeaderP;};
inline PkgIterator PkgBegin();
inline PkgIterator PkgEnd();

16
apt-pkg/pkgcachegen.cc

@ -266,7 +266,7 @@ bool pkgCacheGenerator::MergeFileProvides(ListParser &List)
// CacheGenerator::NewPackage - Add a new package /*{{{*/
// ---------------------------------------------------------------------
/* This creates a new package structure and adds it to the hash table */
bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg,string Name)
bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg,const string &Name)
{
Pkg = Cache.FindPkg(Name);
if (Pkg.end() == false)
@ -330,7 +330,7 @@ bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver,
// ---------------------------------------------------------------------
/* This puts a version structure in the linked list */
unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
string VerStr,
const string &VerStr,
unsigned long Next)
{
// Get a structure
@ -354,8 +354,8 @@ unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
/* This creates a dependency element in the tree. It is linked to the
version and to the package that it is pointing to. */
bool pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator Ver,
string PackageName,
string Version,
const string &PackageName,
const string &Version,
unsigned int Op,
unsigned int Type)
{
@ -419,8 +419,8 @@ bool pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator Ver,
// ---------------------------------------------------------------------
/* */
bool pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator Ver,
string PackageName,
string Version)
const string &PackageName,
const string &Version)
{
pkgCache &Cache = Owner->Cache;
@ -459,7 +459,7 @@ bool pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator Ver,
// ---------------------------------------------------------------------
/* This is used to select which file is to be associated with all newly
added versions. The caller is responsible for setting the IMS fields. */
bool pkgCacheGenerator::SelectFile(string File,string Site,
bool pkgCacheGenerator::SelectFile(const string &File,const string &Site,
const pkgIndexFile &Index,
unsigned long Flags)
{
@ -543,7 +543,7 @@ unsigned long pkgCacheGenerator::WriteUniqString(const char *S,
/* This just verifies that each file in the list of index files exists,
has matching attributes with the cache and the cache does not have
any extra files. */
static bool CheckValidity(string CacheFile, FileIterator Start,
static bool CheckValidity(const string &CacheFile, FileIterator Start,
FileIterator End,MMap **OutMap = 0)
{
// No file, certainly invalid

17
apt-pkg/pkgcachegen.h

@ -53,17 +53,17 @@ class pkgCacheGenerator
// Flag file dependencies
bool FoundFileDeps;
bool NewPackage(pkgCache::PkgIterator &Pkg,string Pkg);
bool NewPackage(pkgCache::PkgIterator &Pkg,const string &Pkg);
bool NewFileVer(pkgCache::VerIterator &Ver,ListParser &List);
unsigned long NewVersion(pkgCache::VerIterator &Ver,string VerStr,unsigned long Next);
unsigned long NewVersion(pkgCache::VerIterator &Ver,const string &VerStr,unsigned long Next);
public:
unsigned long WriteUniqString(const char *S,unsigned int Size);
inline unsigned long WriteUniqString(string S) {return WriteUniqString(S.c_str(),S.length());};
inline unsigned long WriteUniqString(const string &S) {return WriteUniqString(S.c_str(),S.length());};
void DropProgress() {Progress = 0;};
bool SelectFile(string File,string Site,pkgIndexFile const &Index,
bool SelectFile(const string &File,const string &Site,pkgIndexFile const &Index,
unsigned long Flags = 0);
bool MergeList(ListParser &List,pkgCache::VerIterator *Ver = 0);
inline pkgCache &GetCache() {return Cache;};
@ -94,12 +94,13 @@ class pkgCacheGenerator::ListParser
inline unsigned long WriteUniqString(string S) {return Owner->WriteUniqString(S);};
inline unsigned long WriteUniqString(const char *S,unsigned int Size) {return Owner->WriteUniqString(S,Size);};
inline unsigned long WriteString(string S) {return Owner->Map.WriteString(S);};
inline unsigned long WriteString(const string &S) {return Owner->Map.WriteString(S);};
inline unsigned long WriteString(const char *S,unsigned int Size) {return Owner->Map.WriteString(S,Size);};
bool NewDepends(pkgCache::VerIterator Ver,string Package,
string Version,unsigned int Op,
bool NewDepends(pkgCache::VerIterator Ver,const string &Package,
const string &Version,unsigned int Op,
unsigned int Type);
bool NewProvides(pkgCache::VerIterator Ver,string Package,string Version);
bool NewProvides(pkgCache::VerIterator Ver,const string &Package,
const string &Version);
public:

2
configure.in

@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
AC_DEFINE_UNQUOTED(VERSION,"0.6.42.4")
AC_DEFINE_UNQUOTED(VERSION,"0.6.43")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)

3
debian/changelog

@ -10,8 +10,9 @@ apt (0.6.43) unstable; urgency=low
(closes: #339533)
* pkgAcqFile is more flexible now (closes: #57091)
* support a download rate limit for http (closes: #146877)
* imported lots of the speedup changes from #319377
--
--
apt (0.6.42.3) unstable; urgency=low

185
po/apt-all.pot

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-10-25 18:41+0200\n"
"POT-Creation-Date: 2005-11-23 00:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -148,7 +148,7 @@ msgstr ""
#: cmdline/apt-cache.cc:1651 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
#: cmdline/apt-get.cc:2356 cmdline/apt-sortpkgs.cc:144
#: cmdline/apt-get.cc:2352 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s %s compiled on %s %s\n"
msgstr ""
@ -535,7 +535,7 @@ msgstr ""
msgid "Y"
msgstr ""
#: cmdline/apt-get.cc:140 cmdline/apt-get.cc:1517
#: cmdline/apt-get.cc:140 cmdline/apt-get.cc:1513
#, c-format
msgid "Regex compilation error - %s"
msgstr ""
@ -694,11 +694,11 @@ msgstr ""
msgid "Internal error, Ordering didn't finish"
msgstr ""
#: cmdline/apt-get.cc:789 cmdline/apt-get.cc:1811 cmdline/apt-get.cc:1844
#: cmdline/apt-get.cc:789 cmdline/apt-get.cc:1807 cmdline/apt-get.cc:1840
msgid "Unable to lock the download directory"
msgstr ""
#: cmdline/apt-get.cc:799 cmdline/apt-get.cc:1892 cmdline/apt-get.cc:2104
#: cmdline/apt-get.cc:799 cmdline/apt-get.cc:1888 cmdline/apt-get.cc:2100
#: apt-pkg/cachefile.cc:67
msgid "The list of sources could not be read."
msgstr ""
@ -727,7 +727,7 @@ msgstr ""
msgid "After unpacking %sB disk space will be freed.\n"
msgstr ""
#: cmdline/apt-get.cc:844 cmdline/apt-get.cc:1958
#: cmdline/apt-get.cc:844 cmdline/apt-get.cc:1954
#, c-format
msgid "Couldn't determine free space in %s"
msgstr ""
@ -761,7 +761,7 @@ msgstr ""
msgid "Do you want to continue [Y/n]? "
msgstr ""
#: cmdline/apt-get.cc:959 cmdline/apt-get.cc:1367 cmdline/apt-get.cc:2001
#: cmdline/apt-get.cc:959 cmdline/apt-get.cc:1363 cmdline/apt-get.cc:1997
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr ""
@ -770,7 +770,7 @@ msgstr ""
msgid "Some files failed to download"
msgstr ""
#: cmdline/apt-get.cc:978 cmdline/apt-get.cc:2010
#: cmdline/apt-get.cc:978 cmdline/apt-get.cc:2006
msgid "Download complete and in download only mode"
msgstr ""
@ -862,45 +862,45 @@ msgstr ""
msgid "Selected version %s (%s) for %s\n"
msgstr ""
#: cmdline/apt-get.cc:1315
#: cmdline/apt-get.cc:1311
msgid "The update command takes no arguments"
msgstr ""
#: cmdline/apt-get.cc:1328 cmdline/apt-get.cc:1422
#: cmdline/apt-get.cc:1324 cmdline/apt-get.cc:1418
msgid "Unable to lock the list directory"
msgstr ""
#: cmdline/apt-get.cc:1386
#: cmdline/apt-get.cc:1382
msgid ""
"Some index files failed to download, they have been ignored, or old ones "
"used instead."
msgstr ""
#: cmdline/apt-get.cc:1405
#: cmdline/apt-get.cc:1401
msgid "Internal error, AllUpgrade broke stuff"
msgstr ""
#: cmdline/apt-get.cc:1504 cmdline/apt-get.cc:1540
#: cmdline/apt-get.cc:1500 cmdline/apt-get.cc:1536
#, c-format
msgid "Couldn't find package %s"
msgstr ""
#: cmdline/apt-get.cc:1527
#: cmdline/apt-get.cc:1523
#, c-format
msgid "Note, selecting %s for regex '%s'\n"
msgstr ""
#: cmdline/apt-get.cc:1557
#: cmdline/apt-get.cc:1553
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr ""
#: cmdline/apt-get.cc:1560
#: cmdline/apt-get.cc:1556
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
#: cmdline/apt-get.cc:1572
#: cmdline/apt-get.cc:1568
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@ -908,158 +908,158 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
#: cmdline/apt-get.cc:1580
#: cmdline/apt-get.cc:1576
msgid ""
"Since you only requested a single operation it is extremely likely that\n"
"the package is simply not installable and a bug report against\n"
"that package should be filed."
msgstr ""
#: cmdline/apt-get.cc:1585
#: cmdline/apt-get.cc:1581
msgid "The following information may help to resolve the situation:"
msgstr ""
#: cmdline/apt-get.cc:1588
#: cmdline/apt-get.cc:1584
msgid "Broken packages"
msgstr ""
#: cmdline/apt-get.cc:1614
#: cmdline/apt-get.cc:1610
msgid "The following extra packages will be installed:"
msgstr ""
#: cmdline/apt-get.cc:1685
#: cmdline/apt-get.cc:1681
msgid "Suggested packages:"
msgstr ""
#: cmdline/apt-get.cc:1686
#: cmdline/apt-get.cc:1682
msgid "Recommended packages:"
msgstr ""
#: cmdline/apt-get.cc:1706
#: cmdline/apt-get.cc:1702
msgid "Calculating upgrade... "
msgstr ""
#: cmdline/apt-get.cc:1709 methods/ftp.cc:702 methods/connect.cc:101
#: cmdline/apt-get.cc:1705 methods/ftp.cc:702 methods/connect.cc:101
msgid "Failed"
msgstr ""
#: cmdline/apt-get.cc:1714
#: cmdline/apt-get.cc:1710
msgid "Done"
msgstr ""
#: cmdline/apt-get.cc:1779 cmdline/apt-get.cc:1787
#: cmdline/apt-get.cc:1775 cmdline/apt-get.cc:1783
msgid "Internal error, problem resolver broke stuff"
msgstr ""
#: cmdline/apt-get.cc:1887
#: cmdline/apt-get.cc:1883
msgid "Must specify at least one package to fetch source for"
msgstr ""
#: cmdline/apt-get.cc:1914 cmdline/apt-get.cc:2122
#: cmdline/apt-get.cc:1910 cmdline/apt-get.cc:2118
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
#: cmdline/apt-get.cc:1961
#: cmdline/apt-get.cc:1957
#, c-format
msgid "You don't have enough free space in %s"
msgstr ""
#: cmdline/apt-get.cc:1966
#: cmdline/apt-get.cc:1962
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
#: cmdline/apt-get.cc:1969
#: cmdline/apt-get.cc:1965
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
#: cmdline/apt-get.cc:1975
#: cmdline/apt-get.cc:1971
#, c-format
msgid "Fetch source %s\n"
msgstr ""
#: cmdline/apt-get.cc:2006
#: cmdline/apt-get.cc:2002
msgid "Failed to fetch some archives."
msgstr ""
#: cmdline/apt-get.cc:2034
#: cmdline/apt-get.cc:2030
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
#: cmdline/apt-get.cc:2046
#: cmdline/apt-get.cc:2042
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
#: cmdline/apt-get.cc:2047
#: cmdline/apt-get.cc:2043
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
#: cmdline/apt-get.cc:2064
#: cmdline/apt-get.cc:2060
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
#: cmdline/apt-get.cc:2083
#: cmdline/apt-get.cc:2079
msgid "Child process failed"
msgstr ""
#: cmdline/apt-get.cc:2099
#: cmdline/apt-get.cc:2095
msgid "Must specify at least one package to check builddeps for"
msgstr ""
#: cmdline/apt-get.cc:2127
#: cmdline/apt-get.cc:2123
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
#: cmdline/apt-get.cc:2147
#: cmdline/apt-get.cc:2143
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
#: cmdline/apt-get.cc:2199
#: cmdline/apt-get.cc:2195
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
#: cmdline/apt-get.cc:2251
#: cmdline/apt-get.cc:2247
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
"package %s can satisfy version requirements"
msgstr ""
#: cmdline/apt-get.cc:2286
#: cmdline/apt-get.cc:2282
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
#: cmdline/apt-get.cc:2311
#: cmdline/apt-get.cc:2307
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
#: cmdline/apt-get.cc:2325
#: cmdline/apt-get.cc:2321
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
#: cmdline/apt-get.cc:2329
#: cmdline/apt-get.cc:2325
msgid "Failed to process build dependencies"
msgstr ""
#: cmdline/apt-get.cc:2361
#: cmdline/apt-get.cc:2357
msgid "Supported modules:"
msgstr ""
#: cmdline/apt-get.cc:2402
#: cmdline/apt-get.cc:2398
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@ -1260,7 +1260,7 @@ msgstr ""
msgid "Failed to write file %s"
msgstr ""
#: apt-inst/dirstream.cc:80 apt-inst/dirstream.cc:88
#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104
#, c-format
msgid "Failed to close file %s"
msgstr ""
@ -1313,7 +1313,8 @@ msgid "File %s/%s overwrites the one in the package %s"
msgstr ""
#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750
#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/acquire.cc:417 apt-pkg/clean.cc:38
#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324
#: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38
#, c-format
msgid "Unable to read %s"
msgstr ""
@ -1608,7 +1609,7 @@ msgstr ""
msgid "Unable to accept connection"
msgstr ""
#: methods/ftp.cc:864 methods/http.cc:920 methods/rsh.cc:303
#: methods/ftp.cc:864 methods/http.cc:957 methods/rsh.cc:303
msgid "Problem hashing file"
msgstr ""
@ -1738,76 +1739,76 @@ msgstr ""
msgid "Read error from %s process"
msgstr ""
#: methods/http.cc:344
#: methods/http.cc:381
msgid "Waiting for headers"
msgstr ""
#: methods/http.cc:490
#: methods/http.cc:527
#, c-format
msgid "Got a single header line over %u chars"
msgstr ""
#: methods/http.cc:498
#: methods/http.cc:535
msgid "Bad header line"
msgstr ""
#: methods/http.cc:517 methods/http.cc:524
#: methods/http.cc:554 methods/http.cc:561
msgid "The HTTP server sent an invalid reply header"
msgstr ""
#: methods/http.cc:553
#: methods/http.cc:590
msgid "The HTTP server sent an invalid Content-Length header"
msgstr ""
#: methods/http.cc:568
#: methods/http.cc:605
msgid "The HTTP server sent an invalid Content-Range header"
msgstr ""
#: methods/http.cc:570
#: methods/http.cc:607
msgid "This HTTP server has broken range support"
msgstr ""
#: methods/http.cc:594
#: methods/http.cc:631
msgid "Unknown date format"
msgstr ""
#: methods/http.cc:741
#: methods/http.cc:778
msgid "Select failed"
msgstr ""
#: methods/http.cc:746
#: methods/http.cc:783
msgid "Connection timed out"
msgstr ""
#: methods/http.cc:769
#: methods/http.cc:806
msgid "Error writing to output file"
msgstr ""
#: methods/http.cc:797
#: methods/http.cc:834
msgid "Error writing to file"
msgstr ""
#: methods/http.cc:822
#: methods/http.cc:859
msgid "Error writing to the file"
msgstr ""
#: methods/http.cc:836
#: methods/http.cc:873
msgid "Error reading from server. Remote end closed connection"
msgstr ""
#: methods/http.cc:838
#: methods/http.cc:875
msgid "Error reading from server"
msgstr ""
#: methods/http.cc:1069
#: methods/http.cc:1106
msgid "Bad header data"
msgstr ""
#: methods/http.cc:1086
#: methods/http.cc:1123
msgid "Connection failed"
msgstr ""
#: methods/http.cc:1177
#: methods/http.cc:1214
msgid "Internal error"
msgstr ""
@ -1820,7 +1821,7 @@ msgstr ""
msgid "Couldn't make mmap of %lu bytes"
msgstr ""
#: apt-pkg/contrib/strutl.cc:941
#: apt-pkg/contrib/strutl.cc:938
#, c-format
msgid "Selection %s not found"
msgstr ""
@ -1941,7 +1942,7 @@ msgstr ""
msgid "Unable to stat the mount point %s"
msgstr ""
#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:423 apt-pkg/clean.cc:44
#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44
#, c-format
msgid "Unable to change to %s"
msgstr ""
@ -2108,52 +2109,52 @@ msgstr ""
msgid "Unable to parse package file %s (2)"
msgstr ""
#: apt-pkg/sourcelist.cc:87
#: apt-pkg/sourcelist.cc:94
#, c-format
msgid "Malformed line %lu in source list %s (URI)"
msgstr ""
#: apt-pkg/sourcelist.cc:89
#: apt-pkg/sourcelist.cc:96
#, c-format
msgid "Malformed line %lu in source list %s (dist)"
msgstr ""
#: apt-pkg/sourcelist.cc:92
#: apt-pkg/sourcelist.cc:99
#, c-format
msgid "Malformed line %lu in source list %s (URI parse)"
msgstr ""
#: apt-pkg/sourcelist.cc:98
#: apt-pkg/sourcelist.cc:105
#, c-format
msgid "Malformed line %lu in source list %s (absolute dist)"
msgstr ""
#: apt-pkg/sourcelist.cc:105
#: apt-pkg/sourcelist.cc:112
#, c-format
msgid "Malformed line %lu in source list %s (dist parse)"
msgstr ""
#: apt-pkg/sourcelist.cc:156
#: apt-pkg/sourcelist.cc:203
#, c-format
msgid "Opening %s"
msgstr ""
#: apt-pkg/sourcelist.cc:170 apt-pkg/cdrom.cc:426
#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426
#, c-format
msgid "Line %u too long in source list %s."
msgstr ""
#: apt-pkg/sourcelist.cc:187
#: apt-pkg/sourcelist.cc:240
#, c-format
msgid "Malformed line %u in source list %s (type)"
msgstr ""
#: apt-pkg/sourcelist.cc:191
#: apt-pkg/sourcelist.cc:244
#, c-format
msgid "Type '%s' is not known on line %u in source list %s"
msgid "Type '%s' is not known in on line %u in source list %s"
msgstr ""
#: apt-pkg/sourcelist.cc:199 apt-pkg/sourcelist.cc:202
#: apt-pkg/sourcelist.cc:252 apt-pkg/sourcelist.cc:255
#, c-format
msgid "Malformed line %u in source list %s (vendor id)"
msgstr ""
@ -2197,7 +2198,7 @@ msgstr ""
msgid "Archive directory %spartial is missing."
msgstr ""
#: apt-pkg/acquire.cc:817
#: apt-pkg/acquire.cc:821
#, c-format
msgid "Downloading file %li of %li (%s remaining)"
msgstr ""
@ -2217,12 +2218,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
#: apt-pkg/init.cc:119
#: apt-pkg/init.cc:120
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
#: apt-pkg/init.cc:135
#: apt-pkg/init.cc:136
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@ -2340,31 +2341,31 @@ msgstr ""
msgid "rename failed, %s (%s -> %s)."
msgstr ""
#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:908
#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:911
msgid "MD5Sum mismatch"
msgstr ""
#: apt-pkg/acquire-item.cc:722
#: apt-pkg/acquire-item.cc:719
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
#: apt-pkg/acquire-item.cc:775
#: apt-pkg/acquire-item.cc:778
#, c-format
msgid ""
"I wasn't able to locate file for the %s package. This might mean you need to "
"manually fix this package."
msgstr ""
#: apt-pkg/acquire-item.cc:811
#: apt-pkg/acquire-item.cc:814
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
#: apt-pkg/acquire-item.cc:898
#: apt-pkg/acquire-item.cc:901
msgid "Size mismatch"
msgstr ""

58
po/bs.po

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-11-22 11:23+0100\n"
"POT-Creation-Date: 2005-11-23 00:39+0100\n"
"PO-Revision-Date: 2004-05-06 15:25+0100\n"
"Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
"Language-Team: Bosnian <lokal@lugbih.org>\n"
@ -1329,7 +1329,7 @@ msgstr ""
#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750
#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324
#: apt-pkg/acquire.cc:417 apt-pkg/clean.cc:38
#: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38
#, c-format
msgid "Unable to read %s"
msgstr "Ne mogu čitati %s"
@ -1627,7 +1627,7 @@ msgstr ""
msgid "Unable to accept connection"
msgstr ""
#: methods/ftp.cc:864 methods/http.cc:920 methods/rsh.cc:303
#: methods/ftp.cc:864 methods/http.cc:957 methods/rsh.cc:303
msgid "Problem hashing file"
msgstr ""
@ -1758,76 +1758,76 @@ msgstr ""
msgid "Read error from %s process"
msgstr ""
#: methods/http.cc:344
#: methods/http.cc:381
msgid "Waiting for headers"
msgstr "Čekam na zaglavlja"
#: methods/http.cc:490
#: methods/http.cc:527
#, c-format
msgid "Got a single header line over %u chars"
msgstr ""
#: methods/http.cc:498
#: methods/http.cc:535
msgid "Bad header line"
msgstr ""
#: methods/http.cc:517 methods/http.cc:524
#: methods/http.cc:554 methods/http.cc:561
msgid "The HTTP server sent an invalid reply header"
msgstr ""
#: methods/http.cc:553
#: methods/http.cc:590
msgid "The HTTP server sent an invalid Content-Length header"
msgstr ""
#: methods/http.cc:568
#: methods/http.cc:605
msgid "The HTTP server sent an invalid Content-Range header"
msgstr ""
#: methods/http.cc:570
#: methods/http.cc:607
msgid "This HTTP server has broken range support"
msgstr ""
#: methods/http.cc:594
#: methods/http.cc:631
msgid "Unknown date format"
msgstr "Nepoznat oblik datuma"
#: methods/http.cc:741
#: methods/http.cc:778
msgid "Select failed"
msgstr ""
#: methods/http.cc:746
#: methods/http.cc:783
msgid "Connection timed out"
msgstr ""
#: methods/http.cc:769
#: methods/http.cc:806
msgid "Error writing to output file"
msgstr ""
#: methods/http.cc:797
#: methods/http.cc:834
msgid "Error writing to file"
msgstr ""
#: methods/http.cc:822
#: methods/http.cc:859
msgid "Error writing to the file"
msgstr ""
#: methods/http.cc:836
#: methods/http.cc:873
msgid "Error reading from server. Remote end closed connection"
msgstr ""
#: methods/http.cc:838
#: methods/http.cc:875
msgid "Error reading from server"
msgstr ""
#: methods/http.cc:1069
#: methods/http.cc:1106
msgid "Bad header data"
msgstr ""
#: methods/http.cc:1086
#: methods/http.cc:1123
msgid "Connection failed"
msgstr "Povezivanje neuspješno"
#: methods/http.cc:1177
#: methods/http.cc:1214
msgid "Internal error"
msgstr "Unutrašnja greška"