[Mew-dist 14680] Re: mewencode
SAKAI Kiyotaka
ksakai at example.com
2000年 10月 23日 (月) 11:41:18 JST
>> In article <20001023.094355.78731078.kazu at example.com>, Kazu Yamamoto (山本和彦) <kazu at example.com> writes:
> Zlib に対応し fork & exec のなくなった mewencode を作りましたので、試
> して下さい。
> ftp://ftp.mew.org:/pub/Mew/alpha/bin.tar.gz
> mewls の pick pattern のエスケープにも対応しています。
Solaris 2.6 でコンパイルすると、以下のエラーが出ました。
gcc -g -O2 -Wall -c -o mewencode.o mewencode.c
In file included from mewencode.c:17:
/usr/include/unistd.h:223: arguments given to macro `fork'
make: *** [mewencode.o] Error 1
これは、
#define fork() vfork()
を入れたために unistd.h の整合性がなくなったためですので、例えば以下の
ような修正が必要だと思います。
ところで、Zlib をインストールしていない環境でコンパイルすると、どうな
るのでしょうか?
--
酒井 清隆 (E-mail: ksakai at example.com)
===================================================================
RCS file: RCS/mew.h,v
retrieving revision 1.1
diff -c -r1.1 mew.h
*** mew.h 2000/10/23 02:29:41 1.1
--- mew.h 2000/10/23 02:31:32
***************
*** 97,105 ****
# endif
#endif
! #ifdef HAVE_VFORK
! # define fork() vfork()
# define HAVE_FORK 1
#endif
/*
--- 97,107 ----
# endif
#endif
! #if defined(HAVE_VFORK)
! # define FORK() vfork()
# define HAVE_FORK 1
+ #elif defined(HAVE_FORK)
+ # define FORK() fork()
#endif
/*
===================================================================
RCS file: RCS/mewls.c,v
retrieving revision 1.1
diff -c -r1.1 mewls.c
*** mewls.c 2000/10/23 02:29:57 1.1
--- mewls.c 2000/10/23 02:32:33
***************
*** 604,610 ****
#ifdef HAVE_FORK
if (pipe(pipes) != 0) warn_exit("can't open pipe.\n");
! childpid = fork();
if (childpid < 0) warn_exit("can't fork.\n");
--- 604,610 ----
#ifdef HAVE_FORK
if (pipe(pipes) != 0) warn_exit("can't open pipe.\n");
! childpid = FORK();
if (childpid < 0) warn_exit("can't fork.\n");
Mew-dist メーリングリストの案内