// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: strutl.h,v 1.18 2001/05/27 05:19:30 jgg Exp $
+// $Id: strutl.h,v 1.19 2001/05/27 05:55:27 jgg Exp $
/* ######################################################################
String Util - These are some useful string functions
void ioprintf(ostream &out,const char *format,...) APT_FORMAT2;
bool CheckDomainList(string Host,string List);
-int stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
-inline int stringcmp(const char *A,const char *AEnd,const char *B) {return stringcmp(A,AEnd,B,B+strlen(B));};
-inline int stringcmp(string A,const char *B) {return stringcmp(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));};
+#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));}; \
+inline int name(string A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \
+inline int name(string A,string B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \
+inline int name(string A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);};
+int stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
int stringcasecmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
-inline int stringcasecmp(const char *A,const char *AEnd,const char *B) {return stringcasecmp(A,AEnd,B,B+strlen(B));};
-inline int stringcasecmp(string A,const char *B) {return stringcasecmp(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));};
-inline int stringcasecmp(string A,string B) {return stringcasecmp(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());};
-inline int stringcasecmp(string A,const char *B,const char *BEnd) {return stringcasecmp(A.c_str(),A.c_str()+A.length(),B,BEnd);};
+
+APT_MKSTRCMP(stringcmp,stringcmp);
+APT_MKSTRCMP(stringcasecmp,stringcasecmp);
inline const char *DeNull(const char *s) {return (s == 0?"(null)":s);};
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: pkgcachegen.cc,v 1.48 2001/05/27 05:36:04 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.49 2001/05/27 05:55:27 jgg Exp $
/* ######################################################################
Package Cache Generator - Generator for the cache structure.
int Res = 1;
for (; Ver.end() == false; Last = &Ver->NextVer, Ver++)
{
- Res = Cache.VS->DoCmpVersion(Version.c_str(),Version.c_str()+Version.length(),Ver.VerStr(),
- Ver.VerStr() + strlen(Ver.VerStr()));
+ Res = Cache.VS->CmpVersion(Version,Ver.VerStr());
if (Res >= 0)
break;
}
{
for (; Ver.end() == false; Last = &Ver->NextVer, Ver++)
{
- Res = Cache.VS->DoCmpVersion(Version.c_str(),Version.c_str()+Version.length(),Ver.VerStr(),
- Ver.VerStr() + strlen(Ver.VerStr()));
+ Res = Cache.VS->CmpVersion(Version,Ver.VerStr());
if (Res != 0)
break;
}
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: version.h,v 1.7 2001/05/14 05:58:33 jgg Exp $
+// $Id: version.h,v 1.8 2001/05/27 05:55:27 jgg Exp $
/* ######################################################################
Version - Versioning system..
#pragma interface "apt-pkg/version.h"
#endif
+#include <apt-pkg/strutl.h>
#include <string>
using std::string;
{return this == &Against;};
// Shortcuts
- inline int CmpVersion(const char *A, const char *B)
- {
- return DoCmpVersion(A,A+strlen(A),B,B+strlen(B));
- };
- inline int CmpVersion(string A,string B)
- {
- return DoCmpVersion(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());
- };
- inline int CmpReleaseVer(const char *A, const char *B)
- {
- return DoCmpReleaseVer(A,A+strlen(A),B,B+strlen(B));
- };
- inline int CmpReleaseVer(string A,string B)
- {
- return DoCmpReleaseVer(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());
- };
+ APT_MKSTRCMP(CmpVersion,DoCmpVersion);
+ APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
pkgVersioningSystem();
virtual ~pkgVersioningSystem() {};