From 13f52ed8144e1e352f03b69c92ed40fd322bb513 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 29 Jan 2004 02:54:22 +0000 Subject: [PATCH] (string_char_to_byte): Optimize for ASCII only string. (string_byte_to_char): Likewise. --- src/ChangeLog | 5 +++++ src/fns.c | 10 ++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 100cfd83f0..9d52344d5b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-01-29 Kenichi Handa + + * fns.c (string_char_to_byte): Optimize for ASCII only string. + (string_byte_to_char): Likewise. + 2004-01-28 Peter Runestig * makefile.w32-in, w32fns.c: Add `default-printer-name' function. diff --git a/src/fns.c b/src/fns.c index 6383e09302..493d7ba289 100644 --- a/src/fns.c +++ b/src/fns.c @@ -884,12 +884,11 @@ string_char_to_byte (string, char_index) int best_below, best_below_byte; int best_above, best_above_byte; - if (! STRING_MULTIBYTE (string)) - return char_index; - best_below = best_below_byte = 0; best_above = SCHARS (string); best_above_byte = SBYTES (string); + if (best_above == best_above_byte) + return char_index; if (EQ (string, string_char_byte_cache_string)) { @@ -957,12 +956,11 @@ string_byte_to_char (string, byte_index) int best_below, best_below_byte; int best_above, best_above_byte; - if (! STRING_MULTIBYTE (string)) - return byte_index; - best_below = best_below_byte = 0; best_above = SCHARS (string); best_above_byte = SBYTES (string); + if (best_above == best_above_byte) + return byte_index; if (EQ (string, string_char_byte_cache_string)) { -- 2.20.1