Mac向けエンコーディング変換処理の見直し
OS X El Capitan (10.11) でmakeしたところ、header.cのコンパイル中に下記のWarningが出ました。
gcc -DHAVE_CONFIG_H -I. -I.. -DEUC -DSUPPORT_LH7 -I/usr/local/include -MT header.o -MD -MP -MF .deps/header.Tpo -c -o header.o header.c ... header.c:1943:16: warning: implicit declaration of function 'CFStringEncodingBytesToUnicode' is invalid in C99 [-Wimplicit-function-declaration] cfResult = CFStringEncodingBytesToUnicode(scriptEncoding, ^ header.c:1952:20: warning: implicit declaration of function 'CFStringEncodingUnicodeToBytes' is invalid in C99 [-Wimplicit-function-declaration] cfResult = CFStringEncodingUnicodeToBytes(kCFStringEncodingUTF8, ^
なお、autoconfまわりの修正は含んでいません。OS Xでiconvを利用する場合、LIBS に -liconv が必要です。また、LDFLAGS に設定される -framework CoreFoundation は不要となります。
お久しぶりです。ありがとうございます。少しあとになりますが内容を確認いたします
4年の時を経過してまともな対応をしました
https://github.com/jca02266/lha/commit/f07d076
iconv に関しては以下のような対応を検証中
https://github.com/jca02266/lha/pull/19
OS X El Capitan (10.11) でmakeしたところ、header.cのコンパイル中に下記のWarningが出ました。
CFStringEncodingBytesToUnicode()やCFStringEncodingUnicodeToBytes()がヘッダに無いようです(動作はするのですが)。昔と違って今ではiconvが利用できるので、iconvを優先的に利用した方がよいのではないかと思います。iconvを優先的に利用するパッチを書きました。なお、autoconfまわりの修正は含んでいません。OS Xでiconvを利用する場合、LIBS に -liconv が必要です。また、LDFLAGS に設定される -framework CoreFoundation は不要となります。