Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4602 → Rev 4603

/branches/network/uspace/srv/net/socket/socket_client.c
454,6 → 454,7
 
if( ! data ) return EBADMEM;
if( ! datalength ) return NO_DATA;
if( fromaddr && (( ! addrlen ) || ( * addrlen < sizeof( struct sockaddr_in )))) return EINVAL;
// find the socket
socket = sockets_find( socket_get_sockets(), socket_id );
if( ! socket ) return ENOTSOCK;
473,9 → 474,6
// request packet data
message_id = async_send_4( socket->phone, message, socket->socket_id, 0, socket->service, flags, & answer );
// read the address if desired
if( fromaddr ){
* addrlen = sizeof( struct sockaddr_in );
}
if(( ! fromaddr ) || ( ipc_data_read_start( socket->phone, fromaddr, * addrlen ) == EOK )){
if( fragments == 1 ){
// read all if only one fragment
503,6 → 501,8
dyn_fifo_pop( & socket->received );
// return read data length
result = SOCKET_GET_READ_DATA_LENGTH( & answer );
// set address length
if( fromaddr && addrlen ) * addrlen = SOCKET_GET_ADDRESS_LENGTH( & answer );
}
fibril_mutex_unlock( & socket->receive_lock );
return result;