diff options
author | Kenichi Handa <handa@m17n.org> | 2004-01-29 02:54:22 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2004-01-29 02:54:22 +0000 |
commit | 13f52ed8144e1e352f03b69c92ed40fd322bb513 (patch) | |
tree | 42d5dc3a752f736bcd0f94e88c695d11b365069f | |
parent | d57625a021192f87993f6018f9577c41e201bbc7 (diff) | |
download | emacs-13f52ed8144e1e352f03b69c92ed40fd322bb513.tar.gz |
(string_char_to_byte): Optimize for ASCII only string.
(string_byte_to_char): Likewise.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/fns.c | 10 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 100cfd83f06..9d52344d5b3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-01-29 Kenichi Handa <handa@m17n.org> + + * fns.c (string_char_to_byte): Optimize for ASCII only string. + (string_byte_to_char): Likewise. + 2004-01-28 Peter Runestig <peter@runestig.com> * makefile.w32-in, w32fns.c: Add `default-printer-name' function. diff --git a/src/fns.c b/src/fns.c index 6383e09302b..493d7ba2897 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)) { |