gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/StringPredicates.h


From: Markus Gothe
Subject: [Gnash-commit] gnash ChangeLog server/StringPredicates.h
Date: Mon, 27 Nov 2006 22:49:08 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Markus Gothe <nihilus>  06/11/27 22:49:07

Modified files:
        .              : ChangeLog 
        server         : StringPredicates.h 

Log message:
        Use <cstring>-comparsion-functions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1792&r2=1.1793
http://cvs.savannah.gnu.org/viewcvs/gnash/server/StringPredicates.h?cvsroot=gnash&r1=1.4&r2=1.5

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1792
retrieving revision 1.1793
diff -u -b -r1.1792 -r1.1793
--- ChangeLog   27 Nov 2006 22:21:39 -0000      1.1792
+++ ChangeLog   27 Nov 2006 22:49:07 -0000      1.1793
@@ -1,6 +1,7 @@
 2006-11-25 Markus Gothe <address@hidden>
 
        * server/StringPredicates.h: Changed struct's to classes. Added id-tag.
+         Use <cstring>-comparsion-functions.
 
 2006-11-27 Sandro Santilli <address@hidden>
 

Index: server/StringPredicates.h
===================================================================
RCS file: /sources/gnash/gnash/server/StringPredicates.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- server/StringPredicates.h   27 Nov 2006 22:21:39 -0000      1.4
+++ server/StringPredicates.h   27 Nov 2006 22:49:07 -0000      1.5
@@ -17,7 +17,7 @@
 // 
 //
 
-/* $Id: StringPredicates.h,v 1.4 2006/11/27 22:21:39 nihilus Exp $ */
+/* $Id: StringPredicates.h,v 1.5 2006/11/27 22:49:07 nihilus Exp $ */
 
 #ifndef GNASH_STRINGPREDICATES_H
 #define GNASH_STRINGPREDICATES_H
@@ -27,58 +27,31 @@
 #endif
 
 #include <string> 
+#include <cstring> // For str*cmp().
 
-#include <cassert> // for inlines
+#ifdef HAVE_STRINGCASECMP
+# define STRCASECMP strcasecmp
+#else
+# define STRCASECMP _stricmp
+#endif
 
 namespace gnash {
 
-/// A case-insensitive string comparator (probably not very performant)
+/// A case-insensitive string comparator.
 class StringNoCaseLessThen {
 public:
        bool operator() (const std::string& a, const std::string& b) const
        {
-               size_t a_len = a.length();
-               size_t b_len = b.length();
-
-               size_t cmplen = a_len < b_len ? a_len : b_len;
-
-               for (size_t i=0; i<cmplen; ++i)
-               {
-                       char cha = toupper(a[i]);
-                       char chb = toupper(b[i]);
-
-                       if (cha < chb) return true;
-                       else if (cha > chb) return false;
-                       assert(cha==chb);
-               }
-
-               // strings are equal for whole lenght of a,
-               // a is LessThen b only if 'b' contains more
-               // characters then 'a' (if same number of
-               // chars 'a' is NOT less then 'b')
-
-               if ( a_len < b_len ) return true;
-               return false; // equal or greater
-
+               return (strcmp(a.c_str(), b.c_str()) == 0);
        }
 };
 
-/// A case-insensitive string equality operator (probably not very performant)
+/// A case-insensitive string equality operator.
 class StringNoCaseEqual {
 public:
        bool operator() (const std::string& a, const std::string& b) const
        {
-               if ( a.length() != b.length() ) return false;
-               for (size_t i=0; i<a.length(); ++i)
-               {
-                       char cha = toupper(a[i]);
-                       char chb = toupper(b[i]);
-
-                       if (cha != chb) return false;
-               }
-
-               return true;
-
+               return (STRCASECMP(a.c_str(), b.c_str()) == 0);
        }
 };
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]