Browse Source

Dsync merge

Author: jgg
Date: 1999-01-18 06:20:07 GMT
Dsync merge
debian/1.8.y
Arch Librarian 18 years ago
parent
commit
7f25bdff3a
  1. 11
      apt-pkg/contrib/cmndline.cc
  2. 3
      apt-pkg/contrib/cmndline.h
  3. 61
      apt-pkg/contrib/configuration.cc
  4. 10
      apt-pkg/contrib/configuration.h
  5. 15
      apt-pkg/contrib/error.cc
  6. 3
      apt-pkg/contrib/error.h
  7. 18
      apt-pkg/contrib/fileutl.cc
  8. 4
      apt-pkg/contrib/fileutl.h
  9. 10
      apt-pkg/contrib/md5.h
  10. 3
      apt-pkg/contrib/mmap.h
  11. 3
      apt-pkg/contrib/progress.h
  12. 8
      apt-pkg/contrib/strutl.cc
  13. 3
      apt-pkg/contrib/system.h
  14. 6
      methods/file.cc

11
apt-pkg/contrib/cmndline.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: cmndline.cc,v 1.7 1998/12/14 02:23:47 jgg Exp $
// $Id: cmndline.cc,v 1.8 1999/01/18 06:20:07 jgg Exp $
/* ######################################################################
Command Line Class - Sophisticated command line parser
@ -96,7 +96,6 @@ bool CommandLine::Parse(int argc,const char **argv)
if (Opt == OptEnd)
return _error->Error("Command line option %s is not understood",argv[I]);
Opt++;
cout << Opt << endl;
for (A = ArgList; A->end() == false &&
stringcasecmp(Opt,OptEnd,A->LongOpt) != 0; A++);
@ -205,7 +204,13 @@ bool CommandLine::HandleOpt(int &I,int argc,const char *argv[],
return true;
}
Conf->Set(A->ConfName,Argument);
const char *I = A->ConfName;
for (; *I != 0 && *I != ' '; I++);
if (*I == ' ')
Conf->Set(string(A->ConfName,0,I-A->ConfName),string(I+1) + Argument);
else
Conf->Set(A->ConfName,string(I) + Argument);
return true;
}

3
apt-pkg/contrib/cmndline.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: cmndline.h,v 1.5 1998/12/14 02:23:47 jgg Exp $
// $Id: cmndline.h,v 1.6 1999/01/18 06:20:07 jgg Exp $
/* ######################################################################
Command Line Class - Sophisticated command line parser
@ -38,7 +38,6 @@
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_CMNDLINE_H
#define PKGLIB_CMNDLINE_H

61
apt-pkg/contrib/configuration.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: configuration.cc,v 1.10 1998/11/05 07:21:43 jgg Exp $
// $Id: configuration.cc,v 1.11 1999/01/18 06:20:07 jgg Exp $
/* ######################################################################
Configuration Class
@ -43,10 +43,17 @@ Configuration::Item *Configuration::Lookup(Item *Head,const char *S,
int Res = 1;
Item *I = Head->Child;
Item **Last = &Head->Child;
for (; I != 0; Last = &I->Next, I = I->Next)
if ((Res = stringcasecmp(I->Tag.begin(),I->Tag.end(),S,S + Len)) == 0)
break;
// Empty strings match nothing. They are used for lists.
if (Len != 0)
{
for (; I != 0; Last = &I->Next, I = I->Next)
if ((Res = stringcasecmp(I->Tag.begin(),I->Tag.end(),S,S + Len)) == 0)
break;
}
else
for (; I != 0; Last = &I->Next, I = I->Next);
if (Res == 0)
return I;
if (Create == false)
@ -73,7 +80,7 @@ Configuration::Item *Configuration::Lookup(const char *Name,bool Create)
const char *End = Start + strlen(Name);
const char *TagEnd = Name;
Item *Itm = Root;
for (; End - TagEnd > 2; TagEnd++)
for (; End - TagEnd >= 2; TagEnd++)
{
if (TagEnd[0] == ':' && TagEnd[1] == ':')
{
@ -84,6 +91,13 @@ Configuration::Item *Configuration::Lookup(const char *Name,bool Create)
}
}
// This must be a trailing ::, we create unique items in a list
if (End - Start == 0)
{
if (Create == false)
return 0;
}
Itm = Lookup(Itm,Start,End - Start,Create);
return Itm;
}
@ -377,17 +391,11 @@ bool ReadConfigFile(Configuration &Conf,string FName)
continue;
// Parse off the tag
string::size_type Pos = LineBuffer.find(' ');
if (Pos == string::npos)
{
if (TermChar == '{')
Pos = LineBuffer.length();
else
return _error->Error("Syntax error %s:%u: Tag with no value",FName.c_str(),CurLine);
}
string Tag;
const char *Pos = LineBuffer.c_str();
if (ParseQuoteWord(Pos,Tag) == false)
return _error->Error("Syntax error %s:%u: Malformed Tag",FName.c_str(),CurLine);
string Tag = string(LineBuffer,0,Pos);
// Go down a level
if (TermChar == '{')
{
@ -398,17 +406,16 @@ bool ReadConfigFile(Configuration &Conf,string FName)
Tag = string();
}
// We dont have a value to set
if (Pos == LineBuffer.length())
{
LineBuffer = string();
continue;
}
// Parse off the word
string Word;
if (ParseCWord(LineBuffer.c_str()+Pos,Word) == false)
return _error->Error("Syntax error %s:%u: Malformed value",FName.c_str(),CurLine);
if (ParseCWord(Pos,Word) == false)
{
if (TermChar != '{')
{
Word = Tag;
Tag = "";
}
}
// Generate the item name
string Item;
@ -416,10 +423,10 @@ bool ReadConfigFile(Configuration &Conf,string FName)
Item = Tag;
else
{
if (Tag.empty() == true)
Item = ParentTag;
else
if (TermChar != '{' || Tag.empty() == false)
Item = ParentTag + "::" + Tag;
else
Item = ParentTag;
}
// Set the item in the configuration class

10
apt-pkg/contrib/configuration.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: configuration.h,v 1.8 1998/11/04 07:11:12 jgg Exp $
// $Id: configuration.h,v 1.9 1999/01/18 06:20:07 jgg Exp $
/* ######################################################################
Configuration Class
@ -14,13 +14,17 @@
And has associated with it a text string. The Configuration class only
provides storage and lookup for this tree, other classes provide
configuration file formats (and parsers/emitters if needed).
Most things can get by quite happily with,
cout << _config->Find("Foo::Bar") << endl;
A special extension, support for ordered lists is provided by using the
special syntax, "block::list::" the trailing :: designates the
item as a list. To access the list you must use the tree function on
"block::list".
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_CONFIGURATION_H
#define PKGLIB_CONFIGURATION_H

15
apt-pkg/contrib/error.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: error.cc,v 1.5 1998/09/18 02:42:40 jgg Exp $
// $Id: error.cc,v 1.6 1999/01/18 06:20:07 jgg Exp $
/* ######################################################################
Global Erorr Class - Global error mechanism
@ -80,8 +80,9 @@ bool GlobalError::Errno(const char *Function,const char *Description,...)
// sprintf the description
char S[400];
vsprintf(S,Description,args);
sprintf(S + strlen(S)," - %s (%i %s)",Function,errno,strerror(errno));
vsnprintf(S,sizeof(S),Description,args);
snprintf(S + strlen(S),sizeof(S) - strlen(S),
" - %s (%i %s)",Function,errno,strerror(errno));
// Put it on the list
Item *Itm = new Item;
@ -108,8 +109,8 @@ bool GlobalError::WarningE(const char *Function,const char *Description,...)
// sprintf the description
char S[400];
vsprintf(S,Description,args);
sprintf(S + strlen(S)," - %s (%i %s)",Function,errno,strerror(errno));
vsnprintf(S,sizeof(S),Description,args);
snprintf(S + strlen(S),sizeof(S) - strlen(S)," - %s (%i %s)",Function,errno,strerror(errno));
// Put it on the list
Item *Itm = new Item;
@ -130,7 +131,7 @@ bool GlobalError::Error(const char *Description,...)
// sprintf the description
char S[400];
vsprintf(S,Description,args);
vsnprintf(S,sizeof(S),Description,args);
// Put it on the list
Item *Itm = new Item;
@ -153,7 +154,7 @@ bool GlobalError::Warning(const char *Description,...)
// sprintf the description
char S[400];
vsprintf(S,Description,args);
vsnprintf(S,sizeof(S),Description,args);
// Put it on the list
Item *Itm = new Item;

3
apt-pkg/contrib/error.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: error.h,v 1.5 1998/09/18 02:42:41 jgg Exp $
// $Id: error.h,v 1.6 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
Global Erorr Class - Global error mechanism
@ -37,7 +37,6 @@
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_ERROR_H
#define PKGLIB_ERROR_H

18
apt-pkg/contrib/fileutl.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: fileutl.cc,v 1.16 1998/11/27 04:20:52 jgg Exp $
// $Id: fileutl.cc,v 1.17 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
File Utilities
@ -102,8 +102,11 @@ string SafeGetCWD()
// Stash the current dir.
char S[300];
S[0] = 0;
if (getcwd(S,sizeof(S)) == 0)
if (getcwd(S,sizeof(S)-2) == 0)
return "/";
unsigned int Len = strlen(S);
S[Len] = '/';
S[Len+1] = 0;
return S;
}
/*}}}*/
@ -263,6 +266,17 @@ bool FileFd::Seek(unsigned long To)
return true;
}
/*}}}*/
// FileFd::Tell - Current seek position /*{{{*/
// ---------------------------------------------------------------------
/* */
unsigned long FileFd::Tell()
{
off_t Res = lseek(iFd,0,SEEK_CUR);
if (Res == (off_t)-1)
_error->Errno("lseek","Failed to determine the current file position");
return Res;
}
/*}}}*/
// FileFd::Size - Return the size of the file /*{{{*/
// ---------------------------------------------------------------------
/* */

4
apt-pkg/contrib/fileutl.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: fileutl.h,v 1.11 1998/12/08 05:24:43 jgg Exp $
// $Id: fileutl.h,v 1.12 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
File Utilities
@ -18,7 +18,6 @@
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_FILEUTL_H
#define PKGLIB_FILEUTL_H
@ -43,6 +42,7 @@ class FileFd
bool Read(void *To,unsigned long Size);
bool Write(const void *From,unsigned long Size);
bool Seek(unsigned long To);
unsigned long Tell();
unsigned long Size();
bool Close();

10
apt-pkg/contrib/md5.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: md5.h,v 1.2 1998/11/25 23:54:45 jgg Exp $
// $Id: md5.h,v 1.3 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
MD5SumValue - Storage for a MD5Sum
@ -39,9 +39,13 @@ class MD5SumValue
// Accessors
bool operator ==(const MD5SumValue &rhs) const;
string Value() const;
inline operator string() const {return Value();};
inline void Value(unsigned char S[16])
{for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];};
inline operator string() const {return Value();};
bool Set(string Str);
inline void Set(unsigned char S[16])
{for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];};
MD5SumValue(string Str);
MD5SumValue();
};

3
apt-pkg/contrib/mmap.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: mmap.h,v 1.7 1998/11/12 03:14:40 jgg Exp $
// $Id: mmap.h,v 1.8 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
MMap Class - Provides 'real' mmap or a faked mmap using read().
@ -22,7 +22,6 @@
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_MMAP_H
#define PKGLIB_MMAP_H

3
apt-pkg/contrib/progress.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: progress.h,v 1.4 1998/10/02 04:39:54 jgg Exp $
// $Id: progress.h,v 1.5 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
OpProgress - Operation Progress
@ -18,7 +18,6 @@
##################################################################### */
/*}}}*/
// Header section: pkglib
#ifndef PKGLIB_PROGRESS_H
#define PKGLIB_PROGRESS_H

8
apt-pkg/contrib/strutl.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: strutl.cc,v 1.16 1998/12/31 05:45:26 jgg Exp $
// $Id: strutl.cc,v 1.17 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
String Util - Some usefull string functions.
@ -189,7 +189,7 @@ string QuoteString(string Str,const char *Bad)
*I <= 0x20 || *I >= 0x7F)
{
char Buf[10];
sprintf(Buf,"%%%02x",(unsigned int)((unsigned char)*I));
sprintf(Buf,"%%%02x",(int)*I);
Res += Buf;
}
else
@ -214,7 +214,7 @@ string SizeToStr(double Size)
/* bytes, KiloBytes, MegaBytes, GigaBytes, TeraBytes, PetaBytes,
ExaBytes, ZettaBytes, YottaBytes */
char Ext[] = {'b','k','M','G','T','P','E','Z','Y'};
char Ext[] = {'\0','k','M','G','T','P','E','Z','Y'};
int I = 0;
while (I <= 8)
{
@ -456,6 +456,7 @@ int StringToBool(string Text,int Default = -1)
if (strcasecmp(Text.c_str(),"no") == 0 ||
strcasecmp(Text.c_str(),"false") == 0 ||
strcasecmp(Text.c_str(),"without") == 0 ||
strcasecmp(Text.c_str(),"off") == 0 ||
strcasecmp(Text.c_str(),"disable") == 0)
return 0;
@ -463,6 +464,7 @@ int StringToBool(string Text,int Default = -1)
if (strcasecmp(Text.c_str(),"yes") == 0 ||
strcasecmp(Text.c_str(),"true") == 0 ||
strcasecmp(Text.c_str(),"with") == 0 ||
strcasecmp(Text.c_str(),"on") == 0 ||
strcasecmp(Text.c_str(),"enable") == 0)
return 1;

3
apt-pkg/contrib/system.h

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: system.h,v 1.1 1998/07/02 02:58:13 jgg Exp $
// $Id: system.h,v 1.2 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
System Header - Usefull private definitions
@ -11,7 +11,6 @@
##################################################################### */
/*}}}*/
// Private header
// Header section: /
#ifndef SYSTEM_H
#define SYSTEM_H

6
methods/file.cc

@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: file.cc,v 1.6 1998/11/14 01:39:49 jgg Exp $
// $Id: file.cc,v 1.7 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
File URI method for APT
@ -37,7 +37,9 @@ bool FileMethod::Fetch(FetchItem *Itm)
URI Get = Itm->Uri;
string File = Get.Path;
FetchResult Res;
if (Get.Host.empty() == false)
return _error->Error("Invalid URI, local URIS must not start with //");
// See if the file exists
struct stat Buf;
if (stat(File.c_str(),&Buf) == 0)

Loading…
Cancel
Save