]> git.saurik.com Git - apt.git/commitdiff
Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 24 Oct 2009 12:12:01 +0000 (14:12 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 24 Oct 2009 12:12:01 +0000 (14:12 +0200)
Backported from lp:~mvo/apt/debian-experimental
Patch by Eugene V. Lyubimkin

apt-pkg/contrib/strutl.h
debian/changelog

index 0cbf14a7a4cc7cfa78671c6077a06b91213b0b83..2b2e147fb740c2a07f35ef196915806f833563ef 100644 (file)
@@ -68,15 +68,15 @@ int tolower_ascii(int c);
 #define APT_MKSTRCMP(name,func) \
 inline int name(const char *A,const char *B) {return func(A,A+strlen(A),B,B+strlen(B));}; \
 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);}; 
+inline int name(const string& A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \
+inline int name(const string& A,const string& B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \
+inline int name(const string& A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);};
 
 #define APT_MKSTRCMP2(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.begin(),A.end(),B,B+strlen(B));}; \
-inline int name(string A,string B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \
-inline int name(string A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);}; 
+inline int name(const string& A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));}; \
+inline int name(const string& A,const string& B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \
+inline int name(const string& A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),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);
index cd5f95016e226e3c9fbe08fd6c0b8f014b56c213..80369e8e7b02e434794508f5b8d0254873a41c1f 100644 (file)
@@ -32,6 +32,10 @@ apt (0.7.25) UNRELEASED; urgency=low
   * methods/connect.cc:
     - display also strerror of "wicked" getaddrinfo errors
 
+  [ Eugene V. Lyubimkin ]
+  * apt-pkg/contib/strutl.h
+    - Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2.
+
   [ Julian Andres Klode ]
   * doc/apt.conf.5.xml:
     - Deprecate unquoted values, string concatenation and explain what should