Module: wine Branch: master Commit: 00767952e7dbebea06c4e4e083db2ee4812d6de5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=00767952e7dbebea06c4e4e083...
Author: Eric Pouech eric.pouech@orange.fr Date: Sat Jan 29 20:02:15 2011 +0100
kernel32: Store key len in dbkey_pair structure for efficiency reasons.
---
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; }