[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:0137] Re: MacOS X で mod_encording



> % nm mod_encoding.so | grep libiconv_open
>          U _libiconv_open
> となりますこれではダメなんですよね??

うーん、うまくいっていないですね…

  iconv_open -> iconv_hook_open

というソースの書き換えをコンパイル時に行いたいのですが、
同様の書き換えをしようとする libiconv に負けてしまい

  iconv_open -> libiconv_open

となっているようです。

> #define LOG(level, server, args...) ...
> 上の部分ですがどこの部分を消せばよいのでしょうか?

あ、これは説明がちょっと足りませんでした。消す必要があるのは、

  LOG(APLOG_HOGEHOGE, ... );

という形になっている行すべてです(2行のところも数ヵ所あります)。

ちょっと面倒になってしまいすみませんが、mod_encoding.c を編集して、

  #include <iconv.h>

を

  #include <iconv.h>
  #define iconv       iconv_hook
  #define iconv_open  iconv_hook_open
  #define iconv_close iconv_hook_close

と書き換え、さらに、

  LOG(APLOG_DEBUG,
      r->server, "mod_enc_postread: ienc <> %s", (char *)list[i]);

のように LOG(...); という形になっている部分をすべて削除して
再度試してみていただけないでしょうか。

--
Taisuke Yamada <tai@xxxxxxxxx>
Internet Initiative Japan Inc., Technical Planning Division