[#30743] 大きな数の大まかな割り算 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

17 messages 2007/05/01

[#30827] Supporting Fiber — SASADA Koichi <ko1@...>

 ささだです。

22 messages 2007/05/27

[ruby-dev:30806] ruby 1.9 RSTRING_LEN HP-UX arg0

From: WATANABE Tetsuya <Tetsuya.WATANABE@...>
Date: 2007-05-22 07:25:00 UTC
List: ruby-dev #30806
渡辺哲也です。

ruby 1.9 系ですが RSTRING_LEN マクロへ変更になり
代入ができなくなったので HP-UX の arg0 系の部分
を見直しました。

修正パッチです。すいませんが 1.9 系に取り込んで
ください。

ruby 1.9.0 HP-UX 11.23 ia64 の現状は、miniruby
core してます。この件は近くまとめてから別メール
をだしたいと思ってます。

よろしくお願いします。

------------------------------------------------------------
--- ruby.c.org	2007-05-18 20:26:09 +0900
+++ ruby.c	2007-05-22 16:17:32 +0900
@@ -1092,18 +1092,18 @@
     s = RSTRING_PTR(val);
     i = RSTRING_LEN(val);
 #if defined(PSTAT_SETCMD)
-    if (i >= PST_CLEN) {
-	union pstun j;
-	j.pst_command = s;
-	i = PST_CLEN;
-	RSTRING_LEN(val) = i;
-	*(s + i) = '\0';
-	pstat(PSTAT_SETCMD, j, PST_CLEN, 0, 0);
+    if (i > PST_CLEN) {
+	union pstun un;
+	char buf[PST_CLEN + 1];	/* PST_CLEN is 64 (HP-UX 11.23) */
+	strncpy(buf, s, PST_CLEN);
+	buf[PST_CLEN] = '\0';
+	un.pst_command = buf;
+	pstat(PSTAT_SETCMD, un, PST_CLEN, 0, 0);
     }
     else {
-	union pstun j;
-	j.pst_command = s;
-	pstat(PSTAT_SETCMD, j, i, 0, 0);
+	union pstun un;
+	un.pst_command = s;
+	pstat(PSTAT_SETCMD, un, i, 0, 0);
     }
     rb_progname = rb_tainted_str_new(s, i);
 #elif defined(HAVE_SETPROCTITLE)


In This Thread

Prev Next