| 1491 | } |
| 1492 | |
| 1493 | static const char *set_define(cmd_parms *cmd, void *dummy, |
| 1494 | const char *name, const char *value) |
| 1495 | { |
| 1496 | const char *err = ap_check_cmd_context(cmd, NOT_IN_HTACCESS); |
| 1497 | if (err) |
| 1498 | return err; |
| 1499 | if (ap_strchr_c(name, ':') != NULL) { |
| 1500 | return "Variable name must not contain ':'"; |
| 1501 | } |
| 1502 | |
| 1503 | if (!saved_server_config_defines) { |
| 1504 | init_config_defines(cmd->pool); |
| 1505 | } |
| 1506 | if (!ap_exists_config_define(name)) { |
| 1507 | *(const char **)apr_array_push(ap_server_config_defines) = name; |
| 1508 | } |
| 1509 | if (value) { |
| 1510 | if (!server_config_defined_vars) { |
| 1511 | server_config_defined_vars = apr_table_make(cmd->pool, 5); |
| 1512 | } |
| 1513 | apr_table_setn(server_config_defined_vars, name, value); |
| 1514 | } |
| 1515 | |
| 1516 | return NULL; |
| 1517 | } |
| 1518 | |
| 1519 | static const char *unset_define(cmd_parms *cmd, void *dummy, |
| 1520 | const char *name) |
nothing calls this directly
no test coverage detected