MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / hostent_shm_cpy

Function hostent_shm_cpy

proxy.c:58–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56
57
58int hostent_shm_cpy(struct hostent *dst, struct hostent* src)
59{
60 int i;
61 char *p;
62
63 for( i=0 ; src->h_addr_list[i] ; i++ );
64
65 dst->h_addr_list = (char**)shm_malloc
66 (i * (src->h_length + sizeof(char*)) + sizeof(char*));
67 if (dst->h_addr_list==NULL)
68 return -1;
69
70 p = ((char*)dst->h_addr_list) + (i+1)*sizeof(char*);
71 dst->h_addr_list[i] = 0;
72
73 for( i-- ; i>=0 ; i-- ) {
74 dst->h_addr_list[i] = p;
75 memcpy( dst->h_addr_list[i], src->h_addr_list[i], src->h_length );
76 p += src->h_length;
77 }
78
79 dst->h_addr = dst->h_addr_list[0];
80 dst->h_addrtype = src->h_addrtype;
81 dst->h_length = src->h_length;
82 return 0;
83}
84
85
86void free_shm_hostent(struct hostent *dst)

Callers 3

mk_shm_proxyFunction · 0.85
shm_clone_proxyFunction · 0.85
get_next_suFunction · 0.85

Calls 1

shm_mallocFunction · 0.85

Tested by

no test coverage detected