From da51147b68954d8581f7081873318a0e4d138689 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 3 Jan 2018 17:25:07 -0500 Subject: [PATCH] Issue #81 - allow for large recv sizes --- srfi/106.sld | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/srfi/106.sld b/srfi/106.sld index 643d8b6b..5122b1b0 100644 --- a/srfi/106.sld +++ b/srfi/106.sld @@ -230,12 +230,13 @@ "(void *data, int argc, closure _, object k, object sockfd, object size, object flags)" " // TODO: type checking int len = obj_obj2int(size); - make_empty_bytevector(bv); - bv.data = alloca(sizeof(char) * len); + object bv; + alloc_bytevector(data, bv, len); + ((bytevector)bv)->data = alloca(sizeof(char) * len); set_thread_blocked(data, k); - bv.len = recv(obj_obj2int(sockfd), bv.data, len, obj_obj2int(flags)); - return_thread_runnable(data, &bv); + ((bytevector)bv)->len = recv(obj_obj2int(sockfd), ((bytevector)bv)->data, len, obj_obj2int(flags)); + return_thread_runnable(data, bv); ") (define (socket-shutdown sock how)