[s] Entwickler mit Apache-Modul-Erfahrung ...
Posted: 2008-03-10 07:07
Guten Morgen allerseits,
seit einigen Tagen beschäftigt mich ein Problem, bei dem ich nicht wirklich weiter komme (wobei ich dazu sagen muss, dass meine C-Kenntnisse mehr Schlecht als Recht sind :(). Ich habe einige Erweiterungen für mod_vhs geschrieben, welche auch funktionieren - nun stehe ich aber an und finde auch kein konkretes Beispiel im Apache 2.2-Core oder in anderen (Dritt-Anbieter) Modulen.
Konkret geht es um eine Funktion, welche per_dir Zuweisungen anwendet. Ich bekomme die zu verwendeten Daten in die Funktion, weiß dann aber nicht mehr weiter :(. Die Daten haben folgendes Format:
Meine Funktion sieht bisher so aus:
Bisher habe ich etliche Scripts durchgelesen, finde aber kein Konkretes Beispiel, lediglich den Hint mit ->options. Im Core gibts dann auch noch die Funktion set_options, welche das macht, was ich will, allerdings habe ich keinen Schimmer wie ich das Teil ansprechen kann :(.
Eventuell ist ja hier jemand anzutreffen, der eine Ahnung davon hat, wie ich das Lösen kann? Danke im Voraus.
seit einigen Tagen beschäftigt mich ein Problem, bei dem ich nicht wirklich weiter komme (wobei ich dazu sagen muss, dass meine C-Kenntnisse mehr Schlecht als Recht sind :(). Ich habe einige Erweiterungen für mod_vhs geschrieben, welche auch funktionieren - nun stehe ich aber an und finde auch kein konkretes Beispiel im Apache 2.2-Core oder in anderen (Dritt-Anbieter) Modulen.
Konkret geht es um eine Funktion, welche per_dir Zuweisungen anwendet. Ich bekomme die zu verwendeten Daten in die Funktion, weiß dann aber nicht mehr weiter :(. Die Daten haben folgendes Format:
Code: Select all
-Indexes +FollowSymLinksCode: Select all
static void
vhs_dir_config(request_rec * r, vhs_config_rec * vhr, char *path, char *shell)
{
void *dconf = r->per_dir_config;
alias_dir_conf *dirconf = (alias_dir_conf *) ap_get_module_config(dconf, &vhs_module);
void *dirsettings;
dirsettings = apr_pstrdup(r->pool, shell);
void *dir;
dir = path;
char *settings;
settings = apr_pstrdup(r->pool, shell);
#ifdef VH_DEBUG
ap_log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, "vhs_php_config: DirPath => %s", path);
ap_log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, "vhs_php_config: DirSettings for DirPath => %s", settings);
#endif
dirconf->options = dirsettings;
ap_set_module_config(r->per_dir_config, &vhs_module, dirconf);
}Eventuell ist ja hier jemand anzutreffen, der eine Ahnung davon hat, wie ich das Lösen kann? Danke im Voraus.