[#22109] diffコマンドのオプションは? — Shibukawa Yoshiki <yoshiki@...>
渋川です。
[#22120] invalid parameter to fcntl in drb.rb — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
西山和広です。
Siena. です。
こんにちは、なかむら(う)です。
[#22144] core dump with ObjectSpace.each_object. — Tanaka Akira <akr@...17n.org>
次のように core を吐くことがあります。
まつもと ゆきひろです
なかだです。
[#22167] 1.8.1 preview3 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
In message <1070645035.747201.27874.nullmailer@picachu.netlab.jp>
まつもと ゆきひろです
In message <1070904807.535101.6285.nullmailer@picachu.netlab.jp>
まつもと ゆきひろです
[#22173] iconv map_charset on Solaris — Tanaka Akira <akr@...17n.org>
Solaris で、config.charset を用意しておいても
[#22190] override private methods — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#22195] IO::for_io and TCPServer#bind — GOTOU Yuuzou <gotoyuzo@...>
test_drb が IPv4 射影アドレスが有効な環境でないと動かないこ
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
なかだです。
なかだです。
まつもと ゆきひろです
[#22205] yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org>
StringIO の
なかだです。
In article <200312100725.hBA7P8Ac011112@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200312100917.hBA9HuAc013516@sharui.nakada.kanuma.tochigi.jp>,
さかいといいます。
In article <20031211.214041.71090239.sakai@tom.sfc.keio.ac.jp>,
In article <87k751dzyf.fsf@serein.a02.aist.go.jp>,
まつもと ゆきひろです
In article <1072167374.096702.13473.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1072187210.052832.16566.nullmailer@picachu.netlab.jp>,
[#22235] block to method by proc — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#22238] errors in test/fileutils — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
[#22251] lib/fileutils.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#22289] mswin32 optimize — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#22307] "rdoc -r" causes SEGV — akira yamada <akira@...>
まつもと ゆきひろです
[#22330] core dump with ungetc — Tanaka Akira <akr@...17n.org>
次のように ungetc を使うと core を吐く場合があります。
なかだです。
In article <200312230824.hBN8O5kM005374@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
[#22344] pack('N') broken on 64bit platforms — Minero Aoki <aamine@...>
青木です。
[#22356] (OSX) TCPServer.open(hostname, 0) — Masatoshi SEKI <m_seki@...>
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
[#22366] `to_s': method `to_s' overridden (TypeError) — Tanaka Akira <akr@...17n.org>
そういえば、次の `to_s': method `to_s' overridden (TypeError) というの
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#22375] win32 thread — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#22385] Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
まつもと ゆきひろです
[#22389] patches for i386-os2-emx — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
[#22403] dlfcn.h on NetBSD — Minero Aoki <aamine@...>
青木です。
[#22418] ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...>
みやむこです。
まつもと ゆきひろです
まつもと ゆきひろです
みやむこです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
[#22433] ARGF.read(nil) — Tanaka Akira <akr@...17n.org>
というわけで気がついたのですが、
まつもと ゆきひろです
In article <1072453715.631656.23109.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
[#22435] Re: [ruby-cvs] ruby: * io.c (rb_f_backquote): need not to check nil result. — Tanaka Akira <akr@...17n.org>
In article <20031226153432.0AF6A45A809@helium.ruby-lang.org>,
[#22469] ARGF.each {|x| ARGF.eof? } and number of Ctrl-Ds. — Tanaka Akira <akr@...17n.org>
次のプログラムは、a^D^D と入力すると終了します。この場合終了には ^D は
[ruby-dev:22450] Re: Dir.glob とShjift_JIS について
山本です。
dir.c と win32\dir.h と win32\win32.c にパッチを当てます。
変更点
1. _findfirst は同時にディレクトリ情報を得られるので、それを使う
ことで大幅に高速化
2. direntを拡張し、d_isdirフィールドを追加。
DIR,opendir,readdir,rewinddir,closedirに、これに伴うコード追加。
dir.cが美しくなくなるので心苦しいのですが、
速度は全然違うので、是非取り込んで欲しいです。
# 他の環境でも同様に高速化できれば、罪悪感も減るんですけど。。。
//////////////////////////////////////////////
// dir.c
# 先ほどの[ruby-dev:22449]に対するパッチです。
# ifndef が美しくない・・・
--- dir.c-22449 Mon Dec 29 21:15:52 2003
+++ dir.c Mon Dec 29 22:11:22 2003
@@ -1072,4 +1072,8 @@ glob_helper(path, sub, separator, flags,
is_dir = no;
+#ifndef _WIN32
if (do_lstat(buf, &st) == 0) {
if (S_ISDIR(st.st_mode)) {
+#else
+ if (dp->d_isdir) {
+#endif
strcpy(buf+n2, "/**/");
@@ -1078,2 +1082,3 @@ glob_helper(path, sub, separator, flags,
is_dir = ok;
+#ifndef _WIN32
}
@@ -1082,2 +1087,3 @@ glob_helper(path, sub, separator, flags,
}
+#endif
}
@@ -1100,3 +1106,7 @@ glob_helper(path, sub, separator, flags,
}
+#ifndef _WIN32
else {
+#else
+ else if (dp->d_isdir) {
+#endif
tmp = ALLOC(struct d_link);
//////////////////////////////////////////////
// win32/dir.h
--- win32/dir.h Tue Jun 11 15:58:56 2002
+++ win32/dir.h Mon Dec 29 17:00:38 2003
@@ -12,2 +12,3 @@ struct direct
char d_name[256];
+ char d_isdir;
};
@@ -19,2 +20,4 @@ typedef struct {
struct direct dirstr;
+ char *bits;
+ long bitpos;
} DIR;
//////////////////////////////////////////////
// win32/win32.c
--- win32/win32.c Thu Nov 27 18:16:48 2003
+++ win32/win32.c Mon Dec 29 17:09:28 2003
@@ -1386,2 +1386,4 @@ rb_w32_opendir(const char *filename)
strcpy(p->start, fd.name);
+ p->bits = ALLOC_N(char, 1);
+ p->bits[0] = fd.attrib & _A_SUBDIR ? 1 : 0;
p->nfiles++;
@@ -1409,2 +1411,14 @@ rb_w32_opendir(const char *filename)
strcpy(&p->start[idx], fd.name);
+
+ if (p->nfiles % 8 == 0) {
+ Renew (p->bits, p->nfiles / 8 + 1, char);
+ if (p->bits == NULL) {
+ rb_fatal ("opendir: malloc failed!\n");
+ }
+ p->bits[p->nfiles / 8] = 0;
+ }
+ if (fd.attrib & _A_SUBDIR) {
+ p->bits[p->nfiles / 8] |= (1 << p->nfiles % 8);
+ }
+
p->nfiles++;
@@ -1446,2 +1460,8 @@ rb_w32_readdir(DIR *dirp)
//
+ // Directory flag
+ //
+ dirp->dirstr.d_isdir = dirp->bits[dirp->bitpos / 8] & (1 << dirp->bitpos % 8);
+ dirp->bitpos++;
+
+ //
// Now set up for the next call to readdir
@@ -1488,2 +1508,3 @@ rb_w32_rewinddir(DIR *dirp)
dirp->curr = dirp->start;
+ dirp->bitpos = 0;
}
@@ -1498,2 +1519,3 @@ rb_w32_closedir(DIR *dirp)
free(dirp->start);
+ free(dirp->bits);
free(dirp);