145,20 → 145,8 |
if( !( address && data )) return EBADMEM; |
rwlock_read_lock( & netif_globals.lock ); |
if( ! ERROR_OCCURRED( netif_get_addr_message( device_id, & translation ))){ |
// * address = measured_string_create_bulk( translation.value, translation.length ); |
* address = ( measured_string_ref ) malloc( sizeof( measured_string_t )); |
if( * address ){ |
* data = ( char * ) malloc( translation.length + 1 ); |
if( * data ){ |
memcpy( * data, translation.value, translation.length + 1 ); |
( ** address ).value = * data; |
( ** address ).length = translation.length; |
rwlock_read_unlock( & netif_globals.lock ); |
return EOK; |
} |
free( * address ); |
} |
ERROR_CODE = ENOMEM; |
* address = measured_string_copy( & translation ); |
ERROR_CODE = ( * address ) ? EOK : ENOMEM; |
} |
rwlock_read_unlock( & netif_globals.lock ); |
return ERROR_CODE; |