Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2672 → Rev 2673

/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
299,14 → 299,14
* Receive the read request.
*/
ipc_callid_t callid;
size_t size;
if (!ipc_data_read_receive(&callid, &size)) {
size_t len;
if (!ipc_data_read_receive(&callid, &len)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
}
 
size_t bytes = max(0, min(dentry->size - pos, size));
size_t bytes = max(0, min(dentry->size - pos, len));
(void) ipc_data_read_deliver(callid, dentry->data + pos, bytes);
 
/*
337,8 → 337,8
* Receive the write request.
*/
ipc_callid_t callid;
size_t size;
if (!ipc_data_write_receive(&callid, NULL, &size)) {
size_t len;
if (!ipc_data_write_receive(&callid, NULL, &len)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
347,13 → 347,13
/*
* Check whether the file needs to grow.
*/
if (pos + size <= dentry->size) {
if (pos + len <= dentry->size) {
/* The file size is not changing. */
(void) ipc_data_write_deliver(callid, dentry->data + pos, size);
ipc_answer_1(rid, EOK, size);
(void) ipc_data_write_deliver(callid, dentry->data + pos, len);
ipc_answer_1(rid, EOK, len);
return;
}
size_t delta = (pos + size) - dentry->size;
size_t delta = (pos + len) - dentry->size;
/*
* At this point, we are deliberately extremely straightforward and
* simply realloc the contents of the file on every write that grows the
369,8 → 369,8
}
dentry->size += delta;
dentry->data = newdata;
(void) ipc_data_write_deliver(callid, dentry->data + pos, size);
ipc_answer_1(rid, EOK, size);
(void) ipc_data_write_deliver(callid, dentry->data + pos, len);
ipc_answer_1(rid, EOK, len);
}
 
/**