わたなべです.

Yukihiro Matsumoto <matz / netlab.co.jp> writes:

:curses関数は普通整数の戻り値を持っていると思ったのですが,
:Sunのcursesは違うのかしら?

その部分はこうなってます.
#define echo()   (_tty.sg_flags |= ECHO, _echoit = TRUE, (void) stty(_tty_ch, &_tty))
cc はなぜかエラーにならないんですね. gcc は当然エラー.

:に変更すれば良いと思います.自動で検出したいけどどうやれば良
:いのかなあ.

#if defined(sun)
#include <sys/param.h>
#if defined(MAXHOSTNAMELEN) && !defined(__GNUC__)
#define BUGGY_SUN_CC
#endif
#endif

#ifndef BUGGY_SUN_CC
#define CHECK(c) if ((c)==ERR) {curses_err();}
#else
#define CHECK(c) c
#endif

こんなんでどうでしょう?
MAXHOSTNAMELEN で solaris かどうかを判断してます.

-- 
わたなべひろふみ