|
|
@ -1,6 +1,6 @@ |
|
|
|
// -*- 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 |
|
|
@ -59,15 +59,17 @@ bool TokSplitString(char Tok,char *Input,char **List, |
|
|
|
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);}; |
|
|
|
|
|
|
|