渡辺哲也です。

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)