[#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:27047] Re: [proposal] ANSI style function
なかだです。
At Mon, 12 Sep 2005 00:56:36 +0900,
Tanaka Akira wrote in [ruby-dev:27019]:
> ただ、rb_thread_create についていえば引数は VALUE (*)(VALUE) で受けて
> VALUE (*)(VALUE, rb_thread_t) に cast してから rb_thread_start_0 にわ
> たせばいいことだと思います。
関数ポインタのキャストは基本的に避けたほうが無難じゃないでしょ
うか。rb_thread_tが必要なら、opaqueな型でtypedefしておくので充
分だと思います。
> > というわけで、放置するのは良くないような気がしてきました。typedef void* VALUE とすれば
> > 64bit 環境でも問題ない可能性はありますが、そのかわりコールバック側で VALUE * で受けたり、
> > struct のポインタで受けたりはできなくなるんじゃないでしょうか。
>
> ここで述べられている理由はよくわかりませんが、個人的には VALUE は
> void* にするのが適切であろうと思っています。
>
> それは、AS/400 なるシステムではポインタと同じサイズの整数型が存在しな
> いということを知ってしまったというのが理由です。
ということは関数ポインタをcastして呼び出すことは保証されないん
じゃないでしょうか。
とりあえずapply2files()のコールバックを修正してみました。
Index: file.c
===================================================================
RCS file: /cvs/ruby/src/ruby/file.c,v
retrieving revision 1.201
diff -U2 -p -r1.201 file.c
--- file.c 12 Sep 2005 10:44:20 -0000 1.201
+++ file.c 12 Sep 2005 12:43:51 -0000
@@ -98,5 +98,5 @@ rb_get_path(VALUE obj)
static long
-apply2files(void (*func) (/* ??? */), VALUE vargs, void *arg)
+apply2files(void (*func)(const char *, void *), VALUE vargs, void *arg)
{
long i;
@@ -1276,7 +1276,5 @@ test_grpowned(VALUE obj, VALUE fname)
#if defined(S_ISUID) || defined(S_ISGID) || defined(S_ISVTX)
static VALUE
-check3rdbyte(fname, mode)
- VALUE fname;
- int mode;
+check3rdbyte(VALUE fname, int mode)
{
struct stat st;
@@ -1359,5 +1357,5 @@ rb_file_s_size(VALUE klass, VALUE fname)
static VALUE
-rb_file_ftype(struct stat *st)
+rb_file_ftype(const struct stat *st)
{
char *t;
@@ -1562,7 +1560,7 @@ rb_file_ctime(VALUE obj)
static void
-chmod_internal(const char *path, int mode)
+chmod_internal(const char *path, void *mode)
{
- if (chmod(path, mode) < 0)
+ if (chmod(path, (int)mode) < 0)
rb_sys_fail(path);
}
@@ -1634,9 +1632,7 @@ rb_file_chmod(VALUE obj, VALUE vmode)
#if defined(HAVE_LCHMOD)
static void
-lchmod_internal(path, mode)
- const char *path;
- int mode;
+lchmod_internal(const char *path, void *mode)
{
- if (lchmod(path, mode) < 0)
+ if (lchmod(path, (int)mode) < 0)
rb_sys_fail(path);
}
@@ -1653,7 +1649,5 @@ lchmod_internal(path, mode)
static VALUE
-rb_file_s_lchmod(argc, argv)
- int argc;
- VALUE *argv;
+rb_file_s_lchmod(int argc, VALUE *argv)
{
VALUE vmode;
@@ -1682,6 +1676,7 @@ struct chown_args {
static void
-chown_internal(const char *path, struct chown_args *args)
+chown_internal(const char *path, void *arg)
{
+ struct chown_args *args = arg;
if (chown(path, args->owner, args->group) < 0)
rb_sys_fail(path);
@@ -1768,8 +1763,7 @@ rb_file_chown(VALUE obj, VALUE owner, VA
#if defined(HAVE_LCHOWN) && !defined(__CHECKER__)
static void
-lchown_internal(path, args)
- const char *path;
- struct chown_args *args;
+lchown_internal(const char *path, void *arg)
{
+ struct chown_args *args = arg;
if (lchown(path, args->owner, args->group) < 0)
rb_sys_fail(path);
@@ -1789,7 +1783,5 @@ lchown_internal(path, args)
static VALUE
-rb_file_s_lchown(argc, argv)
- int argc;
- VALUE *argv;
+rb_file_s_lchown(int argc, VALUE *argv)
{
VALUE o, g, rest;
@@ -1828,8 +1820,7 @@ struct timeval rb_time_timeval(VALUE tim
static void
-utime_internal(path, tvp)
- char *path;
- struct timeval tvp[];
+utime_internal(const char *path, void *arg)
{
+ struct timeval *tvp = arg;
if (utimes(path, tvp) < 0)
rb_sys_fail(path);
@@ -1846,7 +1837,5 @@ utime_internal(path, tvp)
static VALUE
-rb_file_s_utime(argc, argv)
- int argc;
- VALUE *argv;
+rb_file_s_utime(int argc, VALUE *argv)
{
VALUE atime, mtime, rest;
@@ -1873,6 +1862,7 @@ struct utimbuf {
static void
-utime_internal(const char *path, struct utimbuf *utp)
+utime_internal(const char *path, void *arg)
{
+ struct utimbuf *utp = arg;
if (utime(path, utp) < 0)
rb_sys_fail(path);
@@ -2015,5 +2005,5 @@ rb_file_s_readlink(VALUE klass, VALUE pa
static void
-unlink_internal(const char *path)
+unlink_internal(const char *path, void *arg)
{
if (unlink(path) < 0)
@@ -3842,6 +3832,5 @@ is_absolute_path(const char *path)
#ifndef DOSISH
static int
-path_check_1(path)
- VALUE path;
+path_check_1(VALUE path)
{
struct stat st;
@@ -3883,8 +3872,8 @@ path_check_1(path)
int
-rb_path_check(char *path)
+rb_path_check(const char *path)
{
#ifndef DOSISH
- char *p0, *p, *pend;
+ const char *p0, *p, *pend;
const char sep = PATH_SEP_CHAR;
@@ -3911,6 +3900,5 @@ rb_path_check(char *path)
#if defined(__MACOS__) || defined(riscos)
static int
-is_macos_native_path(path)
- const char *path;
+is_macos_native_path(const char *path)
{
if (strchr(path, ':')) return 1;
@@ -3920,5 +3908,5 @@ is_macos_native_path(path)
static int
-file_load_ok(char *file)
+file_load_ok(const char *file)
{
FILE *f;
Index: intern.h
===================================================================
RCS file: /cvs/ruby/src/ruby/intern.h,v
retrieving revision 1.178
diff -U2 -p -r1.178 intern.h
--- intern.h 30 Aug 2005 14:49:51 -0000 1.178
+++ intern.h 12 Sep 2005 12:20:27 -0000
@@ -324,5 +324,5 @@ VALUE rb_hash_aset _((VALUE, VALUE, VALU
VALUE rb_hash_delete_if _((VALUE));
VALUE rb_hash_delete _((VALUE,VALUE));
-int rb_path_check _((char*));
+int rb_path_check _((const char*));
int rb_env_path_tainted _((void));
/* io.c */
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦