size_t consumed = 0;
php_iconv_stream_filter *self = (php_iconv_stream_filter *)filter->abstract;
- if (flags != PSFS_FLAG_NORMAL) {
- if (php_iconv_stream_filter_append_bucket(self, stream, filter, buckets_out, NULL, 0, &consumed, self->persistent TSRMLS_CC) != SUCCESS) {
- goto out_failure;
- }
- } else {
- while (buckets_in->head != NULL) {
- bucket = buckets_in->head;
+ while (buckets_in->head != NULL) {
+ bucket = buckets_in->head;
- php_stream_bucket_unlink(bucket TSRMLS_CC);
+ php_stream_bucket_unlink(bucket TSRMLS_CC);
- if (php_iconv_stream_filter_append_bucket(self, stream, filter, buckets_out, bucket->buf, bucket->buflen, &consumed, self->persistent TSRMLS_CC) != SUCCESS) { goto out_failure;
- }
+ if (php_iconv_stream_filter_append_bucket(self, stream, filter, buckets_out, bucket->buf, bucket->buflen, &consumed, self->persistent TSRMLS_CC) != SUCCESS) { goto out_failure;
+ }
- php_stream_bucket_delref(bucket TSRMLS_CC);
+ php_stream_bucket_delref(bucket TSRMLS_CC);
+ }
+
+ if (flags != PSFS_FLAG_NORMAL) {
+ if (php_iconv_stream_filter_append_bucket(self, stream, filter, buckets_out, NULL, 0, &consumed, self->persistent TSRMLS_CC) != SUCCESS) {
+ goto out_failure;
}
}
- if (bytes_consumed) {
+ if (bytes_consumed != NULL) {
*bytes_consumed = consumed;
}
-
+
return PSFS_PASS_ON;
out_failure: