Changes in uspace/lib/socket/packet/packet_client.c [7c8267b:caad59a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/socket/packet/packet_client.c
r7c8267b rcaad59a 122 122 } 123 123 124 int 125 packet_set_addr(packet_t packet, const uint8_t * src, const uint8_t * dest, 126 size_t addr_len) 127 { 124 int packet_set_addr(packet_t packet, const uint8_t * src, const uint8_t * dest, size_t addr_len){ 128 125 size_t padding; 129 126 size_t allocated; 130 127 131 if (!packet_is_valid(packet))128 if(! packet_is_valid(packet)){ 132 129 return EINVAL; 133 130 } 134 131 allocated = PACKET_MAX_ADDRESS_LENGTH(packet); 135 if (allocated < addr_len)132 if(allocated < addr_len){ 136 133 return ENOMEM; 137 134 } 138 135 padding = allocated - addr_len; 139 136 packet->addr_len = addr_len; 140 141 if (src) { 137 if(src){ 142 138 memcpy((void *) packet + packet->src_addr, src, addr_len); 143 if (padding)144 bzero((void *) packet + packet->src_addr + addr_len, 145 padding);146 } else{139 if(padding){ 140 bzero((void *) packet + packet->src_addr + addr_len, padding); 141 } 142 }else{ 147 143 bzero((void *) packet + packet->src_addr, allocated); 148 144 } 149 150 if (dest) { 145 if(dest){ 151 146 memcpy((void *) packet + packet->dest_addr, dest, addr_len); 152 if (padding)153 bzero((void *) packet + packet->dest_addr + addr_len, 154 padding);155 } else{147 if(padding){ 148 bzero((void *) packet + packet->dest_addr + addr_len, padding); 149 } 150 }else{ 156 151 bzero((void *) packet + packet->dest_addr, allocated); 157 152 } 158 159 153 return EOK; 160 154 }
Note:
See TracChangeset
for help on using the changeset viewer.