[mew-dist 28623] Re: no warnings
Eisaku YAMAGUCHI
eisaku at example.com
2008年 9月 12日 (金) 20:41:38 JST
山口です.
From: KOIE Hidetaka (鯉江英隆) <hide at example.com>
Subject: [mew-dist 28622] Re: no warnings
Date: Fri, 12 Sep 2008 17:06:00 +0900 (JST)
>
> Message-Id: <20080912.163805.130181437.kazu at example.com>
> Date: Fri, 12 Sep 2008 16:38:05 +0900 (JST)
> From: Kazu Yamamoto (山本和彦) <kazu at example.com>
> 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
Mew-dist メーリングリストの案内