2008年9月12日

[mew-dist 28623] Re: no warnings

山口です.

From: KOIE Hidetaka (鯉江英隆) <hide@xxxxx>
Subject: [mew-dist 28622] Re: no warnings
Date: Fri, 12 Sep 2008 17:06:00 +0900 (JST)
>
> Message-Id: <20080912.163805.130181437.kazu@xxxxx>
> Date: Fri, 12 Sep 2008 16:38:05 +0900 (JST)

> From: Kazu Yamamoto (山本和彦) <kazu@xxxxx>
> Subject: [mew-dist 28621] Re: no warnings
>
> | > cc -c -O -I/usr/local/include -I/usr/sfw/include incm.c
> | > "incm.c", line 167: warning: statement not reached
>
> | reach するコードに見えるのですが。。。
>
> こういうことじゃないでしょうか。

はい.そうだと思います.
Getlogin() も鯉江さん流にして統一してしまうのが美しいと思います.

別の回避方法として,Getlogin() と同じような構造にするのもアリのようです.

*** incm.c.org Mon Feb 18 19:24:28 2008
--- incm.c Fri Sep 12 15:10:54 2008
***************
*** 151,160 ****
private char *
Gethomedir(void)
{
! char *home;
!
! if ((home = getenv("HOME")) != NULL)
! return home;
#ifdef HAVE_GETPWUID
{
struct passwd *pw;
--- 151,161 ----
private char *
Gethomedir(void)
{
! {
! char *home;
! if ((home = getenv("HOME")) != NULL)
! return home;
! }
#ifdef HAVE_GETPWUID
{
struct passwd *pw;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

gcc -Wall では warning は出ません.
SPARC Compiler 縁の cc は,reach するかしかいかのチェックが gcc よりは
厳格みたいです.でも,上の回避方法を見るに... ちょっと厳格なだけで,無
茶苦茶厳格な訳ではないようです.

参考までに,以下が Solaris 9 での cpp (Workshop 6)処理後の抜粋です.

static char *
Gethomedir(void)
{
char *home;

if ((home = getenv("HOME")) != 0)
return home;

{
struct passwd *pw;
if ((pw = getpwuid(getuid())) == 0)
return 0;
else
return pw->pw_dir;
}

return 0;
}

-- Eisaku YAMAGUCHI


投稿者 xml-rpc : 2008年9月12日 20:41
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/77162
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。