diff options
Diffstat (limited to 'src')
| -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))      { | 
