aboutsummaryrefslogtreecommitdiff
path: root/trans/streamio.c
diff options
context:
space:
mode:
Diffstat (limited to 'trans/streamio.c')
-rw-r--r--trans/streamio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/trans/streamio.c b/trans/streamio.c
index acd5d674..2d40a5d3 100644
--- a/trans/streamio.c
+++ b/trans/streamio.c
@@ -485,6 +485,7 @@ trivfs_S_io_read (struct trivfs_protid *cred,
off_t offs, vm_size_t amount)
{
error_t err;
+ size_t data_size = *data_len;
if (!cred)
return EOPNOTSUPP;
@@ -493,8 +494,10 @@ trivfs_S_io_read (struct trivfs_protid *cred,
return EBADF;
pthread_mutex_lock (&global_lock);
- err = dev_read (amount, (void **)data, data_len, cred->po->openmodes & O_NONBLOCK);
+ err = dev_read (amount, (void **)data, &data_size,
+ cred->po->openmodes & O_NONBLOCK);
pthread_mutex_unlock (&global_lock);
+ *data_len = data_size;
return err;
}
@@ -830,7 +833,7 @@ kern_return_t
device_open_reply (mach_port_t reply, int returncode, mach_port_t device)
{
int sizes[DEV_GET_SIZE_COUNT];
- size_t sizes_len = DEV_GET_SIZE_COUNT;
+ mach_msg_type_number_t sizes_len = DEV_GET_SIZE_COUNT;
int amount;
if (reply != phys_reply)