X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_misc.c;h=db588ea6be2697b50971db70f94284c00ad7273d;hp=b345eff6e20800e290a9d597101ffb760928c072;hb=8d05291f42b3b42159b3fe91492aa4862f3d4405;hpb=925f7408106f612482cb1f4f58fafd78f3a4266d diff --git a/php_http_misc.c b/php_http_misc.c index b345eff..db588ea 100644 --- a/php_http_misc.c +++ b/php_http_misc.c @@ -6,12 +6,10 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2010, Michael Wallner | + | Copyright (c) 2004-2011, Michael Wallner | +--------------------------------------------------------------------+ */ -/* $Id $ */ - #include "php_http.h" #include @@ -112,7 +110,7 @@ char *php_http_pretty_key(char *key, size_t key_len, zend_bool uctitle, zend_boo size_t php_http_boundary(char *buf, size_t buf_len TSRMLS_DC) { - return snprintf(buf, buf_len, "%lu%0.9f", (ulong) PHP_HTTP_G->env.request.time, (float) php_combined_lcg(TSRMLS_C)); + return snprintf(buf, buf_len, "%15.15F", PHP_HTTP_G->env.request.time * php_combined_lcg(TSRMLS_C)); } /* ARRAYS */ @@ -142,7 +140,7 @@ int php_http_array_apply_append_func(void *pDest TSRMLS_DC, int num_args, va_lis } add_next_index_zval(*data, *value); } else if (key) { - zend_hash_add(dst, key, hash_key->nKeyLength, value, sizeof(zval *), NULL); + zend_symtable_update(dst, key, hash_key->nKeyLength, value, sizeof(zval *), NULL); } else { zend_hash_quick_add(dst, hash_key->arKey, hash_key->nKeyLength, hash_key->h, value, sizeof(zval *), NULL); } @@ -195,7 +193,7 @@ static inline int scope_error_handling(long type TSRMLS_DC) return EH_THROW; } - if (EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), php_http_object_class_entry)) { + if (EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), php_http_object_class_entry TSRMLS_CC)) { return php_http_object_get_error_handling(EG(This) TSRMLS_CC); } @@ -210,12 +208,10 @@ void php_http_error(long type TSRMLS_DC, long code, const char *format, ...) switch (scope_error_handling(type TSRMLS_CC)) { case EH_THROW: { char *message; - zend_class_entry *ce; + zend_class_entry *ce = php_http_exception_class_entry; - if (0&& EG(exception_class) && instanceof_function(EG(exception_class), php_http_exception_class_entry)) { + if (0&& EG(exception_class) && instanceof_function(EG(exception_class), php_http_exception_class_entry TSRMLS_CC)) { ce = EG(exception_class); - } else { - ce = php_http_exception_get_for_code(code); } vspprintf(&message, 0, format, args);