ますたろー日記

大阪から上京して7年。渋谷界隈で頑張ってます。

ap_hook_pre_configの実装

次のようにgccを打ったら、ap_hook_pre_configのコード見れた。

$ gcc -I srclib/apr/include/ -I ./include -I ./srclib/apr-util/include/ -E ./server/config.c | cat -s | less 

以下、実装コード。(整形しています)

void ap_hook_pre_config(
    ap_HOOK_pre_config_t *pf,
    const char * const *aszPre,
    const char * const *aszSucc,
    int nOrder
) {
    ap_LINK_pre_config_t *pHook;
    if(!_hooks.link_pre_config) {
        _hooks.link_pre_config=
            apr_array_make(apr_hook_global_pool,1,sizeof(ap_LINK_pre_config_t));

        apr_hook_sort_register("pre_config",&_hooks.link_pre_config);
    }
    pHook=apr_array_push(_hooks.link_pre_config);
    pHook->pFunc=pf;
    pHook->aszPredecessors=aszPre;
    pHook->aszSuccessors=aszSucc;
    pHook->nOrder=nOrder;
    pHook->szName=apr_hook_debug_current;

    if(apr_hook_debug_enabled)
        apr_hook_debug_show("pre_config",aszPre,aszSucc);
}