I am confused by the multi dimensions pointer of the module configure structure<div><br></div><div><div>if (cmd->type & NGX_DIRECT_CONF) {</div><div> conf = ((void **) cf->ctx)[ngx_modules[i]->index];</div>
<div><br></div><div> } else if (cmd->type & NGX_MAIN_CONF) {</div><div> conf = &(((void **) cf->ctx)[ngx_modules[i]->index]);</div><div><br></div><div> } else if (cf->ctx) {</div>
<div> confp = *(void **) ((char *) cf->ctx + cmd->conf);</div><div><br></div><div> if (confp) {</div><div> conf = confp[ngx_modules[i]->ctx_index];</div><div> }</div>
<div> }</div><div><br></div><div> rv = cmd->set(cf, cmd, conf);</div></div><div><br></div><div><br></div><div><br></div>