{
zval *id;
request_rec *r;
- char *old_value, *new_value;
+ char *old_value, *new_value = NULL;
int new_value_len;
char **target;
target = (char **)((char*)r + offset);
old_value = *target;
- switch (ZEND_NUM_ARGS()) {
- case 0:
- break;
- case 1:
- *target = ap_pstrdup(r->pool, new_value);
- break;
- default:
- WRONG_PARAM_COUNT;
- break;
+ if (new_value) {
+ *target = ap_pstrdup(r->pool, new_value);
}
- if (old_value)
+ if (old_value) {
RETURN_STRING(old_value, 1);
+ }
RETURN_EMPTY_STRING();
}