Rev 4261 | Rev 4307 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4261 | Rev 4271 | ||
|---|---|---|---|
| Line 143... | Line 143... | ||
| 143 | measured_string_t translation; |
143 | measured_string_t translation; |
| 144 | 144 | ||
| 145 | if( !( address && data )) return EBADMEM; |
145 | if( !( address && data )) return EBADMEM; |
| 146 | rwlock_read_lock( & netif_globals.lock ); |
146 | rwlock_read_lock( & netif_globals.lock ); |
| 147 | if( ! ERROR_OCCURRED( netif_get_addr_message( device_id, & translation ))){ |
147 | if( ! ERROR_OCCURRED( netif_get_addr_message( device_id, & translation ))){ |
| 148 | // * address = measured_string_create_bulk( translation.value, translation.length ); |
148 | * address = measured_string_copy( & translation ); |
| 149 | * address = ( measured_string_ref ) malloc( sizeof( measured_string_t )); |
- | |
| 150 | if( * address ){ |
- | |
| 151 | * data = ( char * ) malloc( translation.length + 1 ); |
- | |
| 152 | if( * data ){ |
- | |
| 153 | memcpy( * data, translation.value, translation.length + 1 ); |
- | |
| 154 | ( ** address ).value = * data; |
- | |
| 155 | ( ** address ).length = translation.length; |
- | |
| 156 | rwlock_read_unlock( & netif_globals.lock ); |
- | |
| 157 | return EOK; |
- | |
| 158 | } |
- | |
| 159 | free( * address ); |
- | |
| 160 | } |
- | |
| 161 | ERROR_CODE = ENOMEM; |
149 | ERROR_CODE = ( * address ) ? EOK : ENOMEM; |
| 162 | } |
150 | } |
| 163 | rwlock_read_unlock( & netif_globals.lock ); |
151 | rwlock_read_unlock( & netif_globals.lock ); |
| 164 | return ERROR_CODE; |
152 | return ERROR_CODE; |
| 165 | } |
153 | } |
| 166 | 154 | ||