}
id = offset_id;
- id_len = spprintf((char**)&id, sizeof(offset_id), "GMT%+03d:%02d",
+ id_len = slprintf((char*)id, sizeof(offset_id), "GMT%+03d:%02d",
hours, minutes);
break;
}
UnicodeString id;
char *message = NULL;
php_timezone_obj *tzobj;
+ zval arg = zval_used_for_init;
timeZone->getID(id);
if (id.isBogus()) {
tzobj->tzi.utc_offset = -1 * timeZone->getRawOffset() / (60 * 1000);
} else {
/* Call the constructor! */
- zval arg = zval_used_for_init;
Z_TYPE(arg) = IS_STRING;
if (intl_charFromString(id, &Z_STRVAL(arg), &Z_STRLEN(arg),
&INTL_ERROR_CODE(*outside_error)) == FAILURE) {
}
}
- return ret;
-
+ if (0) {
error:
+ if (ret) {
+ zval_ptr_dtor(&ret);
+ }
+ ret = NULL;
+ }
+
if (message) {
efree(message);
}
- if (ret) {
- zval_ptr_dtor(&ret);
+ if (Z_TYPE(arg) == IS_STRING) {
+ zval_dtor(&arg);
}
- return NULL;
+ return ret;
}
/* }}} */