Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2618 → Rev 2619

/trunk/uspace/srv/vfs/vfs_open.c
46,7 → 46,7
void vfs_open(ipc_callid_t rid, ipc_call_t *request)
{
if (!vfs_files_init()) {
ipc_answer_fast_0(rid, ENOMEM);
ipc_answer_0(rid, ENOMEM);
return;
}
 
60,11 → 60,10
size_t size;
 
ipc_callid_t callid;
ipc_call_t call;
 
if (!ipc_data_receive(&callid, &call, NULL, &size)) {
ipc_answer_fast_0(callid, EINVAL);
ipc_answer_fast_0(rid, EINVAL);
if (!ipc_data_receive(&callid, NULL, &size)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
}
 
77,14 → 76,14
char *path = malloc(size);
if (!path) {
ipc_answer_fast_0(callid, ENOMEM);
ipc_answer_fast_0(rid, ENOMEM);
ipc_answer_0(callid, ENOMEM);
ipc_answer_0(rid, ENOMEM);
return;
}
 
int rc;
if ((rc = ipc_data_deliver(callid, &call, path, size))) {
ipc_answer_fast_0(rid, rc);
if ((rc = ipc_data_deliver(callid, path, size))) {
ipc_answer_0(rid, rc);
free(path);
return;
}
103,7 → 102,7
rc = vfs_lookup_internal(path, size, &triplet, NULL);
if (rc) {
futex_up(&unlink_futex);
ipc_answer_fast_0(rid, rc);
ipc_answer_0(rid, rc);
free(path);
return;
}
123,7 → 122,7
int fd = vfs_fd_alloc();
if (fd < 0) {
vfs_node_put(node);
ipc_answer_fast_0(rid, fd);
ipc_answer_0(rid, fd);
return;
}
vfs_file_t *file = vfs_file_get(fd);
142,7 → 141,7
/*
* Success! Return the new file descriptor to the client.
*/
ipc_answer_fast_1(rid, EOK, fd);
ipc_answer_1(rid, EOK, fd);
}
 
/**