[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 メーリングリストの案内