チケット #36528

Mac向けエンコーディング変換処理の見直し

登録: 2016-08-09 00:59 最終更新: 2020-12-12 18:55

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
1

詳細

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,
                   ^
CFStringEncodingBytesToUnicode()やCFStringEncodingUnicodeToBytes()がヘッダに無いようです(動作はするのですが)。昔と違って今ではiconvが利用できるので、iconvを優先的に利用した方がよいのではないかと思います。iconvを優先的に利用するパッチを書きました。

なお、autoconfまわりの修正は含んでいません。OS Xでiconvを利用する場合、LIBS に -liconv が必要です。また、LDFLAGS に設定される -framework CoreFoundation は不要となります。

チケットの履歴 (5 件中 3 件表示)

2016-08-09 00:59 更新者: hirotosakai
  • 新しいチケット "Mac向けエンコーディング変換処理の見直し" が作成されました
2016-08-09 06:57 更新者: arai
  • 担当者(未割り当て) から arai に更新されました
コメント

お久しぶりです。ありがとうございます。少しあとになりますが内容を確認いたします

2016-10-05 23:32 更新者: arai
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2016-10-05 23:32 に更新されました
2020-12-12 18:55 更新者: arai
  • 詳細が更新されました
コメント

4年の時を経過してまともな対応をしました

https://github.com/jca02266/lha/commit/f07d076

iconv に関しては以下のような対応を検証中

https://github.com/jca02266/lha/pull/19

(編集済, 2020-12-12 19:27 更新者: arai)

添付ファイルリスト

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする