зеркало из https://github.com/github/ruby.git
* encoding.c (rb_filesystem_encoding, rb_locale_charmap): uses
codepage on cygwin. [ruby-core:20994] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
775529991f
Коммит
ef7057fe2f
|
@ -1,3 +1,8 @@
|
||||||
|
Sun Jan 4 15:41:37 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* encoding.c (rb_filesystem_encoding, rb_locale_charmap): uses
|
||||||
|
codepage on cygwin. [ruby-core:20994]
|
||||||
|
|
||||||
Sun Jan 4 11:58:43 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sun Jan 4 11:58:43 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* numeric.c (ruby_float_step): extracted from num_step().
|
* numeric.c (ruby_float_step): extracted from num_step().
|
||||||
|
|
|
@ -565,7 +565,8 @@ beos*|haiku*) ac_cv_func_link=no
|
||||||
esac
|
esac
|
||||||
LIBS="$LIBS" # m lib is include in root under BeOS/Haiku
|
LIBS="$LIBS" # m lib is include in root under BeOS/Haiku
|
||||||
;;
|
;;
|
||||||
cygwin*) ;;
|
cygwin*) ac_cv_header_langinfo_h=no # nl_langinfo(CODESET) returns US-ASCII regardless locale.
|
||||||
|
;;
|
||||||
mingw*) LIBS="-lshell32 -lws2_32 $LIBS"
|
mingw*) LIBS="-lshell32 -lws2_32 $LIBS"
|
||||||
ac_cv_header_a_out_h=no
|
ac_cv_header_a_out_h=no
|
||||||
ac_cv_header_pwd_h=no
|
ac_cv_header_pwd_h=no
|
||||||
|
|
16
encoding.c
16
encoding.c
|
@ -13,11 +13,19 @@
|
||||||
#include "ruby/encoding.h"
|
#include "ruby/encoding.h"
|
||||||
#include "regenc.h"
|
#include "regenc.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#ifdef HAVE_LANGINFO_H
|
#ifndef NO_LOCALE_CHARMAP
|
||||||
|
#if defined __CYGWIN__
|
||||||
|
#include <windows.h>
|
||||||
|
#elif defined HAVE_LANGINFO_H
|
||||||
#include <langinfo.h>
|
#include <langinfo.h>
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#include "ruby/util.h"
|
#include "ruby/util.h"
|
||||||
|
|
||||||
|
#if defined _WIN32 || defined __CYGWIN__
|
||||||
|
#define USE_CODEPAGE_LOCALE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
static ID id_encoding;
|
static ID id_encoding;
|
||||||
VALUE rb_cEncoding;
|
VALUE rb_cEncoding;
|
||||||
static VALUE rb_encoding_list;
|
static VALUE rb_encoding_list;
|
||||||
|
@ -1025,7 +1033,7 @@ rb_encoding *
|
||||||
rb_filesystem_encoding(void)
|
rb_filesystem_encoding(void)
|
||||||
{
|
{
|
||||||
rb_encoding *enc;
|
rb_encoding *enc;
|
||||||
#if defined _WIN32
|
#if defined USE_CODEPAGE_LOCALE
|
||||||
enc = rb_locale_encoding();
|
enc = rb_locale_encoding();
|
||||||
#elif defined __APPLE__
|
#elif defined __APPLE__
|
||||||
enc = rb_enc_find("UTF8-MAC");
|
enc = rb_enc_find("UTF8-MAC");
|
||||||
|
@ -1204,12 +1212,12 @@ rb_locale_charmap(VALUE klass)
|
||||||
{
|
{
|
||||||
#if defined NO_LOCALE_CHARMAP
|
#if defined NO_LOCALE_CHARMAP
|
||||||
return rb_usascii_str_new2("ASCII-8BIT");
|
return rb_usascii_str_new2("ASCII-8BIT");
|
||||||
|
#elif defined USE_CODEPAGE_LOCALE
|
||||||
|
return rb_sprintf("CP%d", GetACP());
|
||||||
#elif defined HAVE_LANGINFO_H
|
#elif defined HAVE_LANGINFO_H
|
||||||
char *codeset;
|
char *codeset;
|
||||||
codeset = nl_langinfo(CODESET);
|
codeset = nl_langinfo(CODESET);
|
||||||
return rb_usascii_str_new2(codeset);
|
return rb_usascii_str_new2(codeset);
|
||||||
#elif defined _WIN32
|
|
||||||
return rb_sprintf("CP%d", GetACP());
|
|
||||||
#else
|
#else
|
||||||
return Qnil;
|
return Qnil;
|
||||||
#endif
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче