しゃある通信

#21-01 [PC]その後の ruby
ruby の作者のまつもとゆきひろさんからパッチの お礼のメイルがきてた。HTTP_REFERER でも見てるのか、それともごとけんさんがタレコんだのか…。あのにやりがそうなのかな? どもども。

で、gettimeofday() は ncurses のパッチの中にあったのを発見。ついでに configure.in とかも直してみた。

diff -ru2N -x configure ruby-1.1b9_04/configure.in ruby-1.1b9_04.x68/configure.in
--- ruby-1.1b9_04/configure.in	Wed Mar 11 16:34:48 1998
+++ ruby-1.1b9_04.x68/configure.in	Sat Mar 21 01:25:54 1998
@@ -392,5 +392,5 @@
     AC_CHECK_LIB(signal, _harderr)
     AC_CHECK_LIB(hmem, hmemset)
-    AC_CHECK_FUNCS(select)
+    AC_CHECK_FUNCS(select link gettimeofday)
     AC_MSG_CHECKING(whether PD libc _dtos18 fail to convert big number)
     AC_CACHE_VAL(rb_cv_missing__dtos18,
diff -ru2N -x configure ruby-1.1b9_04/io.c ruby-1.1b9_04.x68/io.c
--- ruby-1.1b9_04/io.c	Tue Mar 17 19:06:56 1998
+++ ruby-1.1b9_04.x68/io.c	Thu Mar 19 23:40:30 1998
@@ -160,10 +160,10 @@
 #ifdef __human68k__
     {
-	register UCHAR *ptr = str->ptr;
-	n = (int) str->len;
+	register UCHAR *ptr = RSTRING(str)->ptr;
+	n = (int) (RSTRING(str)->len);
 	while (--n >= 0)
 	    if (fputc(*ptr++, f) == EOF)
 		rb_sys_fail(fptr->path);
-	n = ptr - str->ptr;
+	n = ptr - RSTRING(str)->ptr;
     }
     if (ferror(f))
diff -ru2N -x configure ruby-1.1b9_04/missing/x68.c ruby-1.1b9_04.x68/missing/x68.c
--- ruby-1.1b9_04/missing/x68.c	Fri Jan 16 13:05:50 1998
+++ ruby-1.1b9_04.x68/missing/x68.c	Sat Mar 21 01:27:18 1998
@@ -11,2 +11,11 @@
 #include "x68/fconvert.c"
 #endif
+#if !HAVE_GETTIMEOFDAY
+#include "x68/gettimod.c"
+#endif
+#if !HAVE_LINK
+int link(const char *src, const char *dst)
+{
+	return symlink(src, dst);
+}
+#endif
diff -ru2N -x configure ruby-1.1b9_04/x68/gettimod.c ruby-1.1b9_04.x68/x68/gettimod.c
--- ruby-1.1b9_04/x68/gettimod.c	Thu Jan 01 09:00:00 1970
+++ ruby-1.1b9_04.x68/x68/gettimod.c	Sat Mar 21 01:07:44 1998
@@ -0,0 +1,16 @@
+#include <time.h>
+#include <sys/time.h>
+
+struct timezone {
+	int tz_minuteswest;
+	int tz_dsttime;
+};
+
+int
+gettimeofday(struct timeval *tv, struct timezone *tz)
+{
+	tv->tv_sec = (long)time((time_t *) 0);
+	tv->tv_usec = 0;
+
+	return 0;
+}

しかし、./configure で白帯が出てしまったので確かめてない(汗;)。一応 SCoT のほうにも報告して おいたので、どんちゃんしゅみっとが試してみてくれるだろう。 あ、どんちゃんは FreeBSD でやってるのかな? これから ./configure が成功するまで試すつもり。



マクロミルへ登録

© 1998 Kazuya 'Sharl' Masuda
(C)Willoo Entertainment Inc. (C)Konami Digital Entertainment 株式会社ウィローエンターテイメント及び株式会社コナミデジタルエンタテインメントの著作権を侵害する行為は禁止されています。 0.033643 cached