[#26942] core dump with ripper — Tanaka Akira <akr@...17n.org>
ripper で次のように core を吐くことがあるようです。
[#26952] ripper problems. — Tanaka Akira <akr@...17n.org>
ついでに、
[#26954] Re: core dump with ripper — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#26962] Re: about Ruby-GetText — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#26963] sprintf does not warn in verbose mode. — sheepman <sheepman@...>
こんにちは、sheepman です。
[#26975] [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
山本です。
なかだです。
山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
まつもと ゆきひろです
山本です。
In message <20050909220539.E1B26BB8.ocean@m2.ccsnet.ne.jp>
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
まつもと ゆきひろです
山本です。
まつもと ゆきひろです
山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。
なかだです。
[#26984] elimination of "extern int errno;" — Takahiro Kambe <taca@...>
こんにちは。
In message <20050908.120716.71112483.taca@back-street.net>
まつもと ゆきひろです
In message <1126489480.743964.31599.nullmailer@x31.priv.netlab.jp>
In message <20050912.104954.92585084.taca@back-street.net>
まつもと ゆきひろです
In article <1126491408.019719.1052.nullmailer@x31.priv.netlab.jp>,
In message <87wtlmyasi.fsf@m17n.org>
In article <20050916.201819.92561710.taca@back-street.net>,
In message <878xxx6tab.fsf@m17n.org>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
高橋征義です。
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
[#27051] fail on test/rss — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#27123] test/socket/test_tcp.rb blocks on NetBSD — Tanaka Akira <akr@...17n.org>
2005-09-16 から NetBSD で test/socket/test_tcp.rb がブロックするようになっています。
[#27139] ruby-1.8.3 status for release — Masayoshi Takahashi <maki@...>
高橋征義です。
卜部です。
卜部です。
こんにちは、sheepman です。
小西 弘将です。
Masayoshi Takahashi wrote:
助田です。
高橋征義です。
山本です。
こんにちは、なかむら(う)です。
かわじ、です。
山本です。
卜部です。
[#27140] [PATCH] File#chown(nil, nil) — Minero Aoki <aamine@...>
青木です。
[#27141] Interix3 (SFU)サポート — Takahiro Kambe <taca@...>
おはようございます。
[#27150] test_readline.rb blocks on NetBSD. — Tanaka Akira <akr@...17n.org>
NetBSD で、ひさしぶりに端末から ruby を build したところ、test-all 中
前田です。
[#27242] Ruby 1.8.3 released — Yukihiro Matsumoto <matz@...>
Hello Rubyists,
[#27248] glob from command line still broken in djgpp? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#27251] 脆弱性レポート翻訳者募集 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
In message <1127268581.886018.27376.nullmailer@x31.priv.netlab.jp>
[#27275] release schedule plan for 1.8.4 — "NARUSE, Yui" <naruse@...>
成瀬です。
[#27281] env -i make; fails. — "URABE Shyouhei aka.mput" <root@...>
うらべです。
なかだです。
In article <TYOMLEM041XvpFVjCRG00000109@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04ryWtIIZS2T0000010a@tyomlvem02.e2k.ad.ge.com>,
[#27297] warning of yaml/basenode.rb — 雪見酒 <yukimi_sake@...>
こちらでははじめまして、雪見酒です。
[#27302] warning: 'cdecl' attribute directive ignored — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#27321] RubyGemsとOS platformとの関係 — Daigo Moriwaki <techml@...>
こんにちは、森脇です。
なかだです。
まつもと ゆきひろです
西尾瑞穂 と言います。
まつもと ゆきひろです
In article <1127872084.608903.6359.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
森脇です。
Daigo Moriwaki wrote:
In article <433CC31E.20802@ruby-lang.org>,
Tanaka Akira wrote:
まつもと ゆきひろです
In article <433D4CED.9030005@ruby-lang.org>,
Tanaka Akira wrote:
In article <433E4AF0.5020308@ruby-lang.org>,
[#27324] ext/digest on DrafonFly — Takahiro Kambe <taca@...>
こんにちは。
[#27331] possible SEGV in rb_autoload_load? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#27334] File#read にゴミがつく — Yusuke ENDOH <mame@...>
はじめまして、遠藤侑介と申します。
なかだです。
[ruby-dev:27055] Re: [proposal] ANSI style function
山本です。
>> marshal.c
>> ../ruby/marshal.c(548) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>> ../ruby/marshal.c(146) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>> ../ruby/marshal.c(147) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>> ../ruby/marshal.c(168) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>> ../ruby/marshal.c(172) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>> ../ruby/marshal.c(367) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
>> ます。実引数を仮引数の型に変換します。
>>
>> といった警告が残ってますが、bcc32 では警告は出ません。これは挙動を追う必要がありそうなので、
>> 後回しにしました。
>
>この警告はVC7では出なくなってるようです。
なぜ警告が出るのか探していて見つけたのですが、
http://wisdom.sakura.ne.jp/programming/c/c13.html
によると、int から char への変換は下位8ビットをマスクしたのと同じ挙動を
示すそうです。(言われてみると納得できる気もするのですが、なんか意外でした。
C++ の bool のような感覚で、なんとなく非負の int は非負の char になるように思い込んでました。)
符合があるときもこの挙動なのか、よく調べてませんが、これが本当なら
marshal.c の & 0xff は char へのキャストに置き換えられると思います。
#include <stdio.h>
void test(char c) /* int -> char */
{
puts(c ? "non-zero" : "zero"); /* zero! */
}
int main()
{
test(0x100); /* int */
}
ただ、marshal.c の 548 行目の w_byte(rb_reg_options(obj), arg); だけは、
rb_reg_options が int を返してるので、現在は 256 以下に収まってますが
将来的にどうなのか・・・
# あと、やはり 256 以下に収まっているので今は問題にならないのですが、
# bignum.c は下のようにしたほうがいいと思います。
Index: bignum.c
===================================================================
RCS file: /src/ruby/bignum.c,v
retrieving revision 1.122
diff -u -w -b -p -r1.122 bignum.c
--- bignum.c 12 Sep 2005 10:44:19 -0000 1.122
+++ bignum.c 13 Sep 2005 04:00:41 -0000
@@ -43,7 +43,7 @@ bignew_1(VALUE klass, long len, int sign
{
NEWOBJ(big, struct RBignum);
OBJSETUP(big, klass, T_BIGNUM);
- big->sign = (char)sign;
+ big->sign = sign?1:0;
big->len = len;
big->digits = ALLOC_N(BDIGIT, len);
Index: marshal.c
===================================================================
RCS file: /src/ruby/marshal.c,v
retrieving revision 1.121
diff -u -w -b -p -r1.121 marshal.c
--- marshal.c 12 Sep 2005 10:44:20 -0000 1.121
+++ marshal.c 13 Sep 2005 04:06:08 -0000
@@ -116,7 +116,7 @@ class2path(VALUE klass)
static void w_long _((long, struct dump_arg*));
static void
-w_nbyte(char *s, int n, struct dump_arg *arg)
+w_nbyte(const char *s, int n, struct dump_arg *arg)
{
VALUE buf = arg->str;
rb_str_buf_cat(buf, s, n);
@@ -134,7 +134,7 @@ w_byte(char c, struct dump_arg *arg)
}
static void
-w_bytes(char *s, int n, struct dump_arg *arg)
+w_bytes(const char *s, int n, struct dump_arg *arg)
{
w_long(n, arg);
w_nbyte(s, n, arg);
@@ -143,8 +143,8 @@ w_bytes(char *s, int n, struct dump_arg
static void
w_short(int x, struct dump_arg *arg)
{
- w_byte((x >> 0) & 0xff, arg);
- w_byte((x >> 8) & 0xff, arg);
+ w_byte((char)(x >> 0), arg);
+ w_byte((char)(x >> 8), arg);
}
static void
@@ -165,11 +165,11 @@ w_long(long x, struct dump_arg *arg)
return;
}
if (0 < x && x < 123) {
- w_byte(x + 5, arg);
+ w_byte((char)(x + 5), arg);
return;
}
if (-124 < x && x < 0) {
- w_byte((x - 5)&0xff, arg);
+ w_byte((char)(x - 5), arg);
return;
}
for (i=1;i<sizeof(long)+1;i++) {
@@ -358,7 +358,7 @@ w_extended(VALUE klass, struct dump_arg
}
static void
-w_class(int type, VALUE obj, struct dump_arg *arg, int check)
+w_class(char type, VALUE obj, struct dump_arg *arg, int check)
{
char *path;