[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:01005] AIX上でのコンパイル時ワーニングについて



ご無沙汰しております。
潮田と申します。

3.01 のリリースを知り、久しぶりに version をあげてみました。
コンパイル途中にワーニングが出ていますので報告いたします。
# 今回初めて出るようになったものかは、調べておりません。

メッセージは以下の通りです。
---
        cc -DAIX=1 -O -D_LARGE_FILES -U_LARGE_FILE_API     -DFD=3 -c -o mntinfo.o mntinfo.c
"mntinfo.c", line 34.41: 1506-280 (W) 「char*」型と「struct vmount*」型の間に関数引数を割り当てることはできません。
"mntinfo.c", line 36.38: 1506-280 (W) 「char*」型と「struct vmount*」型の間に関数引数を割り当てることはできません。
---

キャストの型を変えれば良いので、以下の patch でワーニングが出ない事は
確認いたしました。

--- mntinfo.c.orig      2012-08-03 00:00:00 +0900
+++ mntinfo.c   2012-08-03 11:50:10 +0900
@@ -31,9 +31,9 @@
 {
        char *buf;

-       mntctl(MCTL_QUERY, sizeof(int), (struct vmount *)&mnt_size);
+       mntctl(MCTL_QUERY, sizeof(int), (char *)&mnt_size);
        buf = Xmalloc(mnt_size);
-       mntctl(MCTL_QUERY, mnt_size, (struct vmount *)buf);
+       mntctl(MCTL_QUERY, mnt_size, (char *)buf);
        mnt_ptr = 0;

        return((FILE *)buf);
---

少し調べたところ、
1. mntctl() の第3引数の型は、 AIX 5.3, 6.1 共に char *。
# この2環境しか身近にありません。
2. machine.h で USEMNTCTL が define されるのは AIX の時だけ。
でした。
次の新版のリリース時にでも、上の変更をいれていただければ幸いです。

-- 
SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>