25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
26 * POSSIBILITY OF SUCH DAMAGE. |
26 * POSSIBILITY OF SUCH DAMAGE. |
27 */ |
27 */ |
28 |
28 |
29 #include "cx/streams.h" |
29 #include "cx/streams.h" |
|
30 #include "cx/allocator.h" |
30 |
31 |
31 #ifndef CX_STREAM_BCOPY_BUF_SIZE |
32 #ifndef CX_STREAM_BCOPY_BUF_SIZE |
32 #define CX_STREAM_BCOPY_BUF_SIZE 8192 |
33 #define CX_STREAM_BCOPY_BUF_SIZE 8192 |
33 #endif |
34 #endif |
34 |
35 |
55 if (buf) { |
56 if (buf) { |
56 if (bufsize == 0) return 0; |
57 if (bufsize == 0) return 0; |
57 lbuf = buf; |
58 lbuf = buf; |
58 } else { |
59 } else { |
59 if (bufsize == 0) bufsize = CX_STREAM_BCOPY_BUF_SIZE; |
60 if (bufsize == 0) bufsize = CX_STREAM_BCOPY_BUF_SIZE; |
60 lbuf = malloc(bufsize); |
61 lbuf = cxMalloc(cxDefaultAllocator, bufsize); |
61 if (lbuf == NULL) return 0; |
62 if (lbuf == NULL) return 0; |
62 } |
63 } |
63 |
64 |
64 size_t r; |
65 size_t r; |
65 size_t rn = bufsize > n ? n : bufsize; |
66 size_t rn = bufsize > n ? n : bufsize; |