summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsiena <siena@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-21 15:26:11 +0000
committersiena <siena@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-21 15:26:11 +0000
commitfc69b2a7f6224fc590d8576a38eded521917c8a1 (patch)
tree468c247454b2325e8c0b5bd45ffe3f2cbf3bb5b1
parentcb3cf6cfea9ebe102f2be5ac4967786805ffef87 (diff)
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--defines.h5
-rw-r--r--dir.c4
-rw-r--r--file.c2
-rw-r--r--ruby.c2
-rw-r--r--util.c2
6 files changed, 18 insertions, 5 deletions
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. <siena@faculty.chiba-u.jp>
+
+ * 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 <dave@pragprog.com>
* 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 = '/';