projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
prepare 2.5.0RC1
[m6w6/ext-http]
/
php_http_buffer.c
diff --git
a/php_http_buffer.c
b/php_http_buffer.c
index 35155e7ced05fc676a08ef6b2ba018878c446e18..e24a4e18baa2e4d7e7a6c8cbdbf7d7c7967fc31b 100644
(file)
--- a/
php_http_buffer.c
+++ b/
php_http_buffer.c
@@
-45,7
+45,7
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_resize_ex(php_http_buffer_t *buf, siz
{
char *ptr = NULL;
#if 0
{
char *ptr = NULL;
#if 0
- fprintf(stderr, "RESIZE: len=%lu, size=%lu, used=%lu, free=%lu
\n", len, buf->size, buf->used, buf->free
);
+ fprintf(stderr, "RESIZE: len=%lu, size=%lu, used=%lu, free=%lu
, total=%lu\n", len, buf->size, buf->used, buf->free, buf->free+buf->used
);
#endif
if (buf->free < len) {
size_t size = override_size ? override_size : buf->size;
#endif
if (buf->free < len) {
size_t size = override_size ? override_size : buf->size;
@@
-74,10
+74,7
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_resize_ex(php_http_buffer_t *buf, siz
PHP_HTTP_BUFFER_API char *php_http_buffer_account(php_http_buffer_t *buf, size_t to_account)
{
PHP_HTTP_BUFFER_API char *php_http_buffer_account(php_http_buffer_t *buf, size_t to_account)
{
- /* it's probably already too late but check anyway */
- if (to_account > buf->free) {
- return NULL;
- }
+ assert(to_account <= buf->free);
buf->free -= to_account;
buf->used += to_account;
buf->free -= to_account;
buf->used += to_account;
@@
-103,7
+100,7
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_shrink(php_http_buffer_t *buf)
PHP_HTTP_BUFFER_API size_t php_http_buffer_append(php_http_buffer_t *buf, const char *append, size_t append_len)
{
PHP_HTTP_BUFFER_API size_t php_http_buffer_append(php_http_buffer_t *buf, const char *append, size_t append_len)
{
- if (PHP_HTTP_BUFFER_NOMEM == php_http_buffer_resize(buf, append_len)) {
+ if (
buf->free < append_len &&
PHP_HTTP_BUFFER_NOMEM == php_http_buffer_resize(buf, append_len)) {
return PHP_HTTP_BUFFER_NOMEM;
}
memcpy(buf->data + buf->used, append, append_len);
return PHP_HTTP_BUFFER_NOMEM;
}
memcpy(buf->data + buf->used, append, append_len);
@@
-160,7
+157,7
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_cut(php_http_buffer_t *buf, size_t of
PHP_HTTP_BUFFER_API php_http_buffer_t *php_http_buffer_fix(php_http_buffer_t *buf)
{
PHP_HTTP_BUFFER_API php_http_buffer_t *php_http_buffer_fix(php_http_buffer_t *buf)
{
- if (PHP_HTTP_BUFFER_NOMEM == php_http_buffer_resize_ex(buf, 1, 1, 0)) {
+ if (
buf->free < 1 &&
PHP_HTTP_BUFFER_NOMEM == php_http_buffer_resize_ex(buf, 1, 1, 0)) {
return NULL;
}
buf->data[buf->used] = '\0';
return NULL;
}
buf->data[buf->used] = '\0';
@@
-229,7
+226,7
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_chunked_output(php_http_buffer_t **s,
while ((got = php_http_buffer_chunk_buffer(s, data, data_len, &chunk, chunk_len))) {
if (PHP_HTTP_BUFFER_PASS0 == passout(opaque, chunk, got TSRMLS_CC)) {
while ((got = php_http_buffer_chunk_buffer(s, data, data_len, &chunk, chunk_len))) {
if (PHP_HTTP_BUFFER_PASS0 == passout(opaque, chunk, got TSRMLS_CC)) {
-
S
TR_SET(chunk, NULL);
+
P
TR_SET(chunk, NULL);
return PHP_HTTP_BUFFER_PASS0;
}
++passed;
return PHP_HTTP_BUFFER_PASS0;
}
++passed;
@@
-240,9
+237,9
@@
PHP_HTTP_BUFFER_API size_t php_http_buffer_chunked_output(php_http_buffer_t **s,
}
data = NULL;
data_len = 0;
}
data = NULL;
data_len = 0;
-
S
TR_SET(chunk, NULL);
+
P
TR_SET(chunk, NULL);
}
}
-
S
TR_FREE(chunk);
+
P
TR_FREE(chunk);
return passed;
}
return passed;
}