summaryrefslogtreecommitdiffstats
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
commite8efd91a224204d0ead82f576404d5fb4d8a4f87 (patch)
tree8bdb4255302bf981ff02b49030671e4ec87fc031
parentcafcb04d8f7df2ec571e4d7faf337ba37ae36609 (diff)
downloadruby-e8efd91a224204d0ead82f576404d5fb4d8a4f87.tar.gz
ruby-e8efd91a224204d0ead82f576404d5fb4d8a4f87.tar.xz
ruby-e8efd91a224204d0ead82f576404d5fb4d8a4f87.zip
* 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: http://svn.ruby-lang.org/repos/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 17b9bd00f..ed0502890 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 ba3abcb16..a80c37325 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 1e130162b..07c9b42e9 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 691cfcdd5..d1f275aa9 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);
{