[PATCH 1/4] [Kernel32]: now storing key len in dbkey_pair structure for efficiency reasons

Eric Pouech eric.pouech at orange.fr
Sat Jan 29 13:02:15 CST 2011




A+
---

 dlls/kernel32/term.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)


diff --git a/dlls/kernel32/term.c b/dlls/kernel32/term.c
index f3dd77b..dd3b788 100644
--- a/dlls/kernel32/term.c
+++ b/dlls/kernel32/term.c
@@ -223,6 +223,7 @@ struct dbkey_descr
 struct dbkey_pair
 {
     const char*         string;
+    unsigned            string_len;
     struct dbkey_descr  descr;
 };
 
@@ -300,8 +301,9 @@ static BOOL TERM_AddKeyDescr(const char* string, struct dbkey_descr* descr)
         TERM_dbkey = new;
         TERM_dbkey_size *= 2;
     }
-    TERM_dbkey[TERM_dbkey_index].string = string;
-    TERM_dbkey[TERM_dbkey_index].descr  = *descr;
+    TERM_dbkey[TERM_dbkey_index].string     = string;
+    TERM_dbkey[TERM_dbkey_index].string_len = strlen(string);
+    TERM_dbkey[TERM_dbkey_index].descr      = *descr;
     TERM_dbkey_index++;
     return TRUE;
 }
@@ -352,7 +354,7 @@ int TERM_FillInputRecord(const char* in, size_t len, INPUT_RECORD* ir)
     {
         if (!memcmp(TERM_dbkey[i].string, in, len))
         {
-            if (len < strlen(TERM_dbkey[i].string)) return 0;
+            if (len < TERM_dbkey[i].string_len) return 0;
             if (found) return 0;
             found = &TERM_dbkey[i].descr;
         }




More information about the wine-patches mailing list