aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 03:03:29 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 03:03:29 +0000
commitf2515d9938213ec99362c9f0e7d7fa6e6afc04dc (patch)
tree8bdb4255302bf981ff02b49030671e4ec87fc031
parent7a34e08d847ab72508c8714bfc76687e00a750f6 (diff)
downloadruby-f2515d9938213ec99362c9f0e7d7fa6e6afc04dc.tar.gz
* configure.in: check langinfo.h and locale.h.
* encoding.c: use langinfo.h only if available. * main.c: use locale.h only if available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--configure.in2
-rw-r--r--encoding.c6
-rw-r--r--main.c4
4 files changed, 19 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 17b9bd00f2..ed05028907 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Dec 21 12:00:34 2007 Tanaka Akira <akr@fsij.org>
+
+ * configure.in: check langinfo.h and locale.h.
+
+ * encoding.c: use langinfo.h only if available.
+
+ * main.c: use locale.h only if available.
+
Fri Dec 21 11:47:56 2007 Tanaka Akira <akr@fsij.org>
* encoding.c: include locale.h
diff --git a/configure.in b/configure.in
index ba3abcb162..a80c373256 100644
--- a/configure.in
+++ b/configure.in
@@ -530,7 +530,7 @@ AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h sys/
fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\
syscall.h pwd.h grp.h a.out.h utime.h memory.h direct.h sys/resource.h \
sys/mkdev.h sys/utime.h netinet/in_systm.h float.h ieeefp.h pthread.h \
- ucontext.h intrinsics.h)
+ ucontext.h intrinsics.h langinfo.h locale.h)
dnl Check additional types.
AC_CHECK_SIZEOF(rlim_t, 0, [
diff --git a/encoding.c b/encoding.c
index 1e130162be..07c9b42e9d 100644
--- a/encoding.c
+++ b/encoding.c
@@ -14,7 +14,9 @@
#include "ruby/encoding.h"
#include "regenc.h"
#include <ctype.h>
+#ifdef HAVE_LANGINFO_H
#include <langinfo.h>
+#endif
static ID id_encoding, id_based_encoding;
static VALUE rb_cEncoding;
@@ -707,9 +709,13 @@ rb_enc_set_default_external(VALUE encoding)
VALUE
rb_locale_charmap(VALUE klass)
{
+#ifdef HAVE_LANGINFO_H
char *codeset;
codeset = nl_langinfo(CODESET);
return rb_str_new2(codeset);
+#else
+ return rb_str_new2("ASCII-8BIT");
+#endif
}
static void
diff --git a/main.c b/main.c
index 691cfcdd5b..d1f275aa99 100644
--- a/main.c
+++ b/main.c
@@ -12,7 +12,9 @@
#undef RUBY_EXPORT
#include "ruby/ruby.h"
+#ifdef LOCALE_H
#include <locale.h>
+#endif
RUBY_GLOBAL_SETUP
@@ -23,7 +25,9 @@ main(int argc, char **argv, char **envp)
extern void ruby_set_debug_option(const char *);
ruby_set_debug_option(getenv("RUBY_DEBUG"));
#endif
+#ifdef LOCALE_H
setlocale(LC_CTYPE, "");
+#endif
ruby_sysinit(&argc, &argv);
{