- switch (body->type)
- {
- case HTTP_REQUEST_BODY_UPLOADFILE:
- {
- TSRMLS_FETCH();
- return php_stream_read((php_stream *) body->data, data, len * n);
- }
- break;
-
- case HTTP_REQUEST_BODY_UPLOADDATA:
- {
- size_t avail;
- if (original != s) {
- original = offset = s;
- }
- if ((avail = body->size - (offset - original)) < 1) {
- return 0;
- }
- if (avail < (len * n)) {
- memcpy(data, offset, avail);
- offset += avail;
- return avail;
- } else {
- memcpy(data, offset, len * n);
- offset += len * n;
- return len * n;
- }
- }
- break;
-
- default:
- return 0;
- break;