[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00728] Re: FDclone 3.0 beta test has been started



 しらいです。

 document 類も殆んど出来上がって後は release を待つばかりな
ので、他のみなさんもβテストへの協力をお願いしますね。

In Message-Id <OFA40AECE4.D131B794-ON492573C9.0005983E@lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田と申します。

> make sh, make bsh は、無事最後まで通りますが、
> make nsh は、途中で止まります。

 一概に非 ANSI 環境でのチェックが甘かったようです。


>   body_fd(n) = *((int *)bodyp);
> の部分ですが、(int) を嫌うようで、
>   ((openlist[n].dirp)) = *((int *)bodyp)
> にすれば通りました。

 あ、cast は右辺には使えますが左辺には使えませんね。かと言
って cast 無しに違う型への代入は危険なので、非 ANSI では構造
体メンバを型毎に用意しましょう。何バイトか無駄になりますが。


> "auth.c", line 252.41: 1506-276 (S) 構文エラー: identifier が欠落している可能性があります。
> "auth.c", line 256.1: 1506-095 (S) パラメーター va_alist はここでは使用できません。

 あ、vararg タイプの関数定義を間違えてますね。これも書き直
します。


> AIX では、まだ K & R タイプの関数宣言の方が、無難なんでしょうか。
> ANSI C(JIS C ?) タイプの関数宣言しか、記述したことが無いのですが。

 __STDC__ が pre-define されていないので K&R 扱いされている
だけだと思いますが、そういう環境では ANSI のつもりで使ってる
と思わぬ落とし穴があるかも知れません。
 最近の C だと大概定義されていますからね。未定義ってことは
それなりに古い実装だってことになると思います。


 とゆー訳で FD-sh-071231.tar.gz に対する patch です。

---- Cut Here ----
diff -u old/auth.c ./auth.c
--- old/auth.c	Sun Dec 30 22:39:01 2007
+++ ./auth.c	Mon Jan  7 21:20:58 2008
@@ -249,7 +249,7 @@
 static int NEAR genhash(char *buf, ALLOC_T size, CONST char *fmt, ...)
 #else
 /*VARARGS3*/
-static int NEAR genhash(buf, size, fmt, ...)
+static int NEAR genhash(buf, size, fmt, va_alist)
 char *buf;
 ALLOC_T size;
 CONST char *fmt;
@@ -287,7 +287,7 @@
 static int NEAR catprintf(char **sp, int len, CONST char *fmt, ...)
 #else
 /*VARARGS3*/
-static int NEAR catprintf(sp, len, fmt, ...)
+static int NEAR catprintf(sp, len, fmt, va_alist)
 char **sp;
 int len;
 CONST char *fmt;
diff -u old/ftp.c ./ftp.c
--- old/ftp.c	Mon Dec 31 06:38:48 2007
+++ ./ftp.c	Mon Jan  7 21:21:16 2008
@@ -162,7 +162,7 @@
 static VOID NEAR ftplog(CONST char *fmt, ...)
 #else
 /*VARARGS1*/
-static VOID NEAR ftplog(fmt, ...)
+static VOID NEAR ftplog(fmt, va_alist)
 CONST char *fmt;
 va_dcl
 #endif
diff -u old/html.c ./html.c
--- old/html.c	Mon Dec 31 03:47:39 2007
+++ ./html.c	Mon Jan  7 21:21:36 2008
@@ -132,7 +132,7 @@
 VOID htmllog(CONST char *fmt, ...)
 #else
 /*VARARGS1*/
-VOID htmllog(fmt, ...)
+VOID htmllog(fmt, va_alist)
 CONST char *fmt;
 va_dcl
 #endif
diff -u old/http.c ./http.c
--- old/http.c	Mon Dec 31 05:35:44 2007
+++ ./http.c	Mon Jan  7 21:21:54 2008
@@ -153,7 +153,7 @@
 static VOID NEAR httplog(CONST char *fmt, ...)
 #else
 /*VARARGS1*/
-static VOID NEAR httplog(fmt, ...)
+static VOID NEAR httplog(fmt, va_alist)
 CONST char *fmt;
 va_dcl
 #endif
@@ -182,7 +182,7 @@
 static int NEAR httpsend(XFILE *fp, CONST char *fmt, ...)
 #else
 /*VARARGS2*/
-static int NEAR httpsend(fp, fmt, ...)
+static int NEAR httpsend(fp, fmt, va_alist)
 XFILE *fp;
 CONST char *fmt;
 va_dcl
diff -u old/sysemu.c ./sysemu.c
--- old/sysemu.c	Mon Dec 31 04:21:12 2007
+++ ./sysemu.c	Mon Jan  7 21:23:43 2008
@@ -107,6 +107,7 @@
 	} body;
 #else
 	DIR *dirp;
+	int fd;
 #endif
 #if	defined (DEP_KANJIPATH) || defined (DEP_ROCKRIDGE)
 	char *path;
@@ -120,7 +121,7 @@
 #define	body_fd(n)		(openlist[n].body.fd)
 #else
 #define	body_dirp(n)		(openlist[n].dirp)
-#define	body_fd(n)		((int)(openlist[n].dirp))
+#define	body_fd(n)		(openlist[n].fd)
 #endif
 
 #ifdef	DEP_DOSDRIVE
diff -u old/urldisk.c ./urldisk.c
--- old/urldisk.c	Mon Dec 31 03:52:02 2007
+++ ./urldisk.c	Mon Jan  7 21:22:31 2008
@@ -61,8 +61,7 @@
 static VOID NEAR urllog(CONST char *fmt, ...)
 #else
 /*VARARGS1*/
-static VOID NEAR urllog(fmt, ...)
-int uh;
+static VOID NEAR urllog(fmt, va_alist)
 CONST char *fmt;
 va_dcl
 #endif
@@ -198,7 +197,7 @@
 int urlcommand(int uh, char **sp, int cmd, ...)
 #else
 /*VARARGS3*/
-int urlcommand(uh, sp, cmd, ...)
+int urlcommand(uh, sp, cmd, va_alist)
 int uh;
 char **sp;
 int cmd;
---- Cut Here ----

                                               しらい たかし