[#14185] ruby on Linux/m68k — akira yamada / やまだあきら <akira@...>
[#14196] fork() on MacOS — nobu.nakada@...
なかだです。
[#14206] undef_method :method_missing — Kenichi Komiya <kom@...1.accsnet.ne.jp>
なかだです。
なかだです。
金光です。
むらけんです.
金光です。
楠です
金光です。
金光です。
金光です。どもっ。
なかだです。
金光です。どもっ。
金光です。
岩月と申します。
金光です。どもっ。
有馬です。
金光です。
有馬です。
金光です。どもっ。
とみたです。
金光です。
とみたです。
金光です。
まつもと ゆきひろです
金光です。(^_^;
あづみです。
有馬です。
金光です。
有馬です。
金光です。どもっ。
有馬です。
むらけんです.
むらけんさん wrote:
むらけんです.
長沢です。
まつもと ゆきひろです
金光です。どもっ。
有馬です。
金光です。どもどもっ。
むらけんです.
金光です。いちおうフォローだけ
ふなばです。
一応フォローだけ、ほんとにちょっとだけっすよ
岩月と申します。
むらけんです.
楠です
むらけんです.
金光です。FOXとかもあるのかぁ。すげぇなぁ。
まつもと ゆきひろです
金光です。御大、待ってましたっ。
なかだです。
金光です。どもどもっ。
なかだです。
さくです。
まつもと ゆきひろです
金光です。どもっ。
まつもと ゆきひろです
金光です。どもどもっ。
[#14229] [BUG] segv on [str].pack("p") — Koji Arai <JCA02266@...>
新井です。
なかだです。
新井です。
なかだです。
[#14338] setup.rb (Re: Common GUI framework) — Minero Aoki <aamine@...>
あおきです。
[#14382] [BUG] segv on regex matching with long string — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#14390] [Patch] pp.rb and debug.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
なひです。書き忘れ。
なかだです。
nobu.nakada@nifty.ne.jpさんの
なひです。
なかだです。
In article <DJEGJLCFNEIMKDNMLFPHMEAHCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEAICBAA.nakahiro@sarion.co.jp>,
なひです。
まつもと ゆきひろです
In article <997774251.527258.14423.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <997783083.657819.14685.nullmailer@ev.netlab.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEALCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEAPCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHMEBACBAA.nakahiro@sarion.co.jp>,
あづみです。
なひです。
In article <DJEGJLCFNEIMKDNMLFPHIEBBCBAA.nakahiro@sarion.co.jp>,
うぅむ。ぼーっとしてたら意味もなく Subject を変えてしまった。
In article <20010817205051.UAZHC0A8274C.C78F0C8A@mail.biglobe.ne.jp>,
あづみです。
In article <hvo66bnxe4b.fsf_-_@flux.etl.go.jp>,
古い話題で恐縮ですが…
なかだです。
In article <200109290948.f8T9mbh12942@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
まつもと ゆきひろです
In article <1001945748.240863.24023.nullmailer@ev.netlab.jp>,
なかだです。
In article <200110020334.f923YLb08299@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200110021010.f92AAIb13474@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
In article <1002080461.740444.11187.nullmailer@ev.netlab.jp>,
In article <DJEGJLCFNEIMKDNMLFPHCEPJCAAA.nakahiro@sarion.co.jp>,
なひです。
まつもと ゆきひろです
In article <DJEGJLCFNEIMKDNMLFPHCEPJCAAA.nakahiro@sarion.co.jp>,
あおきです。
In article <20010809221751J.aamine@mx.edit.ne.jp>,
[#14406] typo in ruby 1.7 — Koji Arai <JCA02266@...>
新井です。
[#14413] 1.7.1 2001-08-06: if true && /match/ — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#14465] Ruby/Bsearch — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
At Wed, 15 Aug 2001 18:01:50 +0900,
"Akinori MUSHA" <knu@iDaemons.org> wrote:
At Thu, 16 Aug 2001 00:15:05 +0900,
In article <20010816001456V.satoru@namazu.org>,
Tanaka Akira <akr@m17n.org> wrote:
In article <20010816130056C.satoru@namazu.org>,
[#14480] avoid compile warning of tcltklib with VC5 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
[#14505] BUG: ruby 1.6.4 cannot use threads on Sparc (segv) — akira yamada / やまだあきら <akira@...>
[#14530] restore terminal mode even if readline interrupted. — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
新井です。
At Wed, 5 Sep 2001 00:19:51 +0900,
まつもと ゆきひろです
[#14552] read in IO#eof? — nobu.nakada@...
なかだです。
[#14575] infinite loop on Dir.glob("*/**/*") — nobu.nakada@...
なかだです。
[#14577] option nodynamic — Daisuke Aoki <dai@...>
青木@横浜です。
[#14595] SEGV at `$0 = "long long string"' — nobu.nakada@...
なかだです。
なかだです。
まつもと ゆきひろです
[ruby-dev:14595] SEGV at `$0 = "long long string"'
なかだです。
$0に長い文字列をセットするとSEGVします。
$ ruby -e '$0="x"*10000'
-e:1: [BUG] Segmentation fault
ruby 1.7.1 (2001-08-23) [i686-linux]
アボートしました
それと、どうも途中のどこかでorigargvが書き換えられてしまうよ
うで、長さは最初に調べておかないとまずいようです。
$ ruby -e '$0="x";sleep' &
[1] 26539
$ ps ww $!|cat -e
PID TTY STAT TIME COMMAND$
26539 pts/0 S 0:00 x sr/bin/ruby -e $0="x";sleep$
$ od -tc /proc/$!/cmdline
0000000 x \0 s r / b i n / r u b y \0 - e
0000020 \0 $ 0 = " x " ; s l e e p \0
0000036
$ ./i686-linux/miniruby -e '$0="x";sleep' &
[1] 26546
$ ps ww $!|cat -e; od -tc /proc/$!/cmdline
PID TTY STAT TIME COMMAND$
26726 pts/0 S 0:00 x $
0000000 x \0
0000020
0000040 \0
0000052
ついでに、ふたつ目のパッチのようにするとlinuxではちょっぴり幸
せな感じ。
$ ./i686-linux/miniruby.new -e '$0="x";sleep' &
[1] 26726
$ ps ww $!|cat -e
PID TTY STAT TIME COMMAND$
26546 pts/0 S 0:00 x$
$ od -tc /proc/$!/cmdline
0000000 x
0000001
Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.49
diff -u -2 -p -r1.49 ruby.c
--- ruby.c 2001/07/14 15:17:19 1.49
+++ ruby.c 2001/08/24 09:50:58
@@ -61,5 +62,5 @@ static VALUE do_split = Qfalse;
static char *script;
-static int origargc;
+static int origargc, origarglen;
static char **origargv;
@@ -883,26 +883,14 @@ set_arg0(val, id)
char *s;
int i;
- static int len;
+ int len = origarglen;
if (origargv == 0) rb_raise(rb_eRuntimeError, "$0 not initialized");
-#ifndef __hpux
- if (len == 0) {
- s = origargv[0];
- s += strlen(s);
- /* See if all the arguments are contiguous in memory */
- for (i = 1; i < origargc; i++) {
- if (origargv[i] == s + 1)
- s += strlen(++s); /* this one is ok too */
- }
- len = s - origargv[0];
- }
-#endif
StringValue(val);
s = RSTRING(val)->ptr;
i = RSTRING(val)->len;
#ifndef __hpux
- if (i < len) {
- memcpy(origargv[0], s, i);
- origargv[0][i] = '\0';
+ if (i >= len) {
+ memcpy(origargv[0], s, len);
+ origargv[0][len] = '\0';
}
else {
@@ -1027,4 +1019,17 @@ ruby_process_options(argc, argv)
{
origargc = argc; origargv = argv;
+#ifndef __hpux
+ if (origarglen == 0) {
+ int i;
+ char *s = origargv[0];
+ s += strlen(s);
+ /* See if all the arguments are contiguous in memory */
+ for (i = 1; i < origargc; i++) {
+ if (origargv[i] == s + 1)
+ s += strlen(++s); /* this one is ok too */
+ }
+ origarglen = s - origargv[0];
+ }
+#endif
ruby_script(argv[0]); /* for the time being */
rb_argv0 = rb_progname;
--- ruby.c~ 2001/08/24 09:50:58
+++ ruby.c 2001/08/24 09:51:15
@@ -898,6 +898,14 @@ set_arg0(val, id)
s = origargv[0]+i;
*s++ = '\0';
- while (++i < len)
+ while (++i < len) {
+#ifndef __linux__
*s++ = ' ';
+#else
+ *s++ = '\0';
+#endif
+ }
+#ifdef __linux__
+ origargv[0][len] = ' ';
+#endif
}
rb_progname = rb_tainted_str_new2(origargv[0]);
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦