} cmd_parts;
static apr_hash_t *dbd_prepared_defns;
+static const char *const default_hostname = "*";
/* a default DBDriver value that'll generate meaningful error messages */
static const char *const no_dbdriver = "[DBDriver unset]";
const char *label)
{
dbd_prepared *prepared = apr_pcalloc(s->process->pool, sizeof(dbd_prepared));
+ const char *key = s->server_hostname;
+ if (key == NULL) {
+ key = default_hostname;
+ }
prepared->label = label;
prepared->query = query;
- prepared->next = apr_hash_get(dbd_prepared_defns, s->server_hostname,
- APR_HASH_KEY_STRING);
- apr_hash_set(dbd_prepared_defns, s->server_hostname, APR_HASH_KEY_STRING,
- prepared);
+ prepared->next = apr_hash_get(dbd_prepared_defns, key, APR_HASH_KEY_STRING);
+ apr_hash_set(dbd_prepared_defns, key, APR_HASH_KEY_STRING, prepared);
}
static const char *dbd_prepare(cmd_parms *cmd, void *cfg, const char *query,
const char *label)
svr_cfg *svr;
server_rec *sp;
for (sp = s; sp; sp = sp->next) {
+ const char *key = s->server_hostname;
+ if (key == NULL) {
+ key = default_hostname;
+ }
svr = ap_get_module_config(sp->module_config, &dbd_module);
- svr->prepared = apr_hash_get(dbd_prepared_defns, sp->server_hostname,
+ svr->prepared = apr_hash_get(dbd_prepared_defns, key,
APR_HASH_KEY_STRING);
}
return OK;