diff --git a/ChangeLog b/ChangeLog index 0c9c05c8b1..0379c2f0d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Thu Jan 22 00:12:51 2004 Siena. + + * defines.h: define RUBY_MBCHAR_MAX instead of MB_CUR_MAX. + * dir.c (Next, emx_mblen): use RUBY_MBCHAR_MAX for mblen(). + * file.c (CharNext): ditto. + * ruby.c (translate_char): ditto. + * util.c (__crt0_glob_function): ditto. + Thu Jan 22 00:10:01 2004 Dave Thomas * lib/base64.rb: :nodoc: the Deprecated module diff --git a/defines.h b/defines.h index d59bcc8ef4..1cc9a6a9af 100644 --- a/defines.h +++ b/defines.h @@ -203,6 +203,11 @@ typedef int pid_t; #define EXTERN RUBY_EXTERN /* deprecated */ #endif +#ifndef RUBY_MBCHAR_MAXSIZE +#define RUBY_MBCHAR_MAXSIZE INT_MAX + /* MB_CUR_MAX will not work well in C locale */ +#endif + #if defined(sparc) || defined(__sparc__) static inline void flush_register_windows(void) diff --git a/dir.c b/dir.c index 5e9015da69..60f99e272d 100644 --- a/dir.c +++ b/dir.c @@ -85,14 +85,14 @@ char *strchr _((char*,char)); #if defined(CharNext) # define Next(p) CharNext(p) #elif defined(DJGPP) -# define Next(p) ((p) + mblen(p, MB_CUR_MAX)) +# define Next(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE)) #elif defined(__EMX__) # define Next(p) ((p) + emx_mblen(p)) static inline int emx_mblen(p) const char *p; { - int n = mblen(p, INT_MAX); + int n = mblen(p, RUBY_MBCHAR_MAXSIZE); return (n < 0) ? 1 : n; } #endif diff --git a/file.c b/file.c index 6a345aad99..985fdc19ad 100644 --- a/file.c +++ b/file.c @@ -2120,7 +2120,7 @@ rb_file_s_umask(argc, argv) #endif #ifndef CharNext /* defined as CharNext[AW] on Windows. */ # if defined(DJGPP) -# define CharNext(p) ((p) + mblen(p, MB_CUR_MAX)) +# define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE)) # else # define CharNext(p) ((p) + 1) # endif diff --git a/ruby.c b/ruby.c index afe1e71ae8..77d8c37d5c 100644 --- a/ruby.c +++ b/ruby.c @@ -226,7 +226,7 @@ translate_char(p, from, to) #ifdef CharNext /* defined as CharNext[AW] on Windows. */ p = CharNext(p); #else - p += mblen(p, MB_CUR_MAX); + p += mblen(p, RUBY_MBCHAR_MAXSIZE); #endif } } diff --git a/util.c b/util.c index cb0b4912f4..661059b226 100644 --- a/util.c +++ b/util.c @@ -347,7 +347,7 @@ __crt0_glob_function(char *path) strncpy(buf, path, len); buf[len] = '\0'; - for (p = buf; *p; p += mblen(p, MB_CUR_MAX)) + for (p = buf; *p; p += mblen(p, RUBY_MBCHAR_MAXSIZE)) if (*p == '\\') *p = '/';