From: ARIMA Yasuhiro Date: 1998-09-02T12:45:45+09:00 Subject: [ruby-list:9411] Re: ruby 1.1c3 released Regard to "[ruby-list:9301] ruby 1.1c3 released" 有馬@FITECです。 WATCOM C/C++ 10.5J, Borland C++Builder 1.0 でコンパイルエラーを 消すために加えた処置です。diff を使ってみました。wcl386 では nt.c, parse,c に、bcc32 では nt.c にまだ手を加える必要があります。 既に報告済みの分は除いたつもりです。 ベンダごとのコンパイラやライブラリの差違って大きいですねぇ。 --- ../ruby-1.1c3/dir.c Mon Jul 13 13:38:20 1998 +++ dir.c Mon Aug 31 23:04:46 1998 @@ -39,7 +42,7 @@ # if HAVE_NDIR_H # include # endif -# ifdef NT +# if defined(NT) && defined(_MSC_VER) # include "missing/dir.h" # endif #endif --- ../ruby-1.1c3/dir.c Mon Jul 13 13:38:20 1998 +++ dir.c Mon Aug 31 23:04:46 1998 @@ -27,6 +27,9 @@ #if HAVE_DIRENT_H # include # define NAMLEN(dirent) strlen((dirent)->d_name) +#elif HAVE_DIRECT_H +# include +# define NAMLEN(dirent) strlen((dirent)->d_name) #else # define dirent direct # define NAMLEN(dirent) (dirent)->d_namlen @@ -39,7 +42,7 @@ # if HAVE_NDIR_H # include # endif -# ifdef NT +# if defined(NT) && defined(_MSC_VER) # include "missing/dir.h" # endif #endif --- ../ruby-1.1c3/error.c Mon Aug 10 14:41:12 1998 +++ error.c Mon Aug 31 23:35:10 1998 @@ -696,7 +696,9 @@ #endif char *err; char *buf; +#ifndef __WATCOMC__ extern int errno; /* なぜ通らない? */ +#endif int n = errno; VALUE ee; --- ../ruby-1.1c3/file.c Mon Jul 13 13:38:22 1998 +++ file.c Wed Sep 02 00:27:48 1998 @@ -966,8 +966,14 @@ #ifndef HAVE_UTIME_H # ifdef NT +# if defined(__BORLANDC__) +# include +# else # include +# endif +# if defined(_MSC_VER) # define utimbuf _utimbuf +# endif # else struct utimbuf { long actime; --- ../ruby-1.1c3/glob.c Fri Jun 26 18:14:18 1998 +++ glob.c Mon Aug 31 23:55:18 1998 @@ -46,6 +46,9 @@ #if defined (HAVE_DIRENT_H) # include # define D_NAMLEN(d) strlen ((d)->d_name) +#elif HAVE_DIRECT_H +# include +# define D_NAMLEN(d) strlen ((d)->d_name) #else /* !HAVE_DIRENT_H */ # define D_NAMLEN(d) ((d)->d_namlen) # if defined (HAVE_SYS_NDIR_H) @@ -66,6 +69,8 @@ /* Posix does not require that the d_ino field be present, and some systems do not provide it. */ # define REAL_DIR_ENTRY(dp) 1 +#elif defined (__BORLANDC__) +# define REAL_DIR_ENTRY(dp) 1 #else # define REAL_DIR_ENTRY(dp) (dp->d_ino != 0) #endif /* _POSIX_SOURCE */ @@ -111,7 +116,7 @@ extern int interrupt_state; #endif /* SHELL */ -#if defined(NT) +#if defined(NT) && defined(_MSC_VER) #include "missing/dir.h" #endif --- ../ruby-1.1c3/marshal.c Fri Jul 24 13:38:00 1998 +++ marshal.c Wed Sep 02 00:32:16 1998 @@ -665,7 +665,7 @@ } big = RBIGNUM(big_norm((VALUE)big)); if (TYPE(big) == T_BIGNUM) { - r_regist(big, arg); + r_regist((VALUE)big, arg); } return (VALUE)big; } --- ../ruby-1.1c3/re.c Thu Aug 27 12:55:26 1998 +++ re.c Wed Sep 02 00:32:56 1998 @@ -648,7 +648,7 @@ break; } - kcode_set_option(re); + kcode_set_option((VALUE)re); if (RTEST(ignorecase)) { options |= RE_OPTION_IGNORECASE; FL_SET(re, REG_CASESTATE); -- 有馬 康弘