Changeset 5438:4eb05969f66c in roaraudio for libroar/plugincontainer.c
- Timestamp:
- 03/20/12 17:00:08 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/plugincontainer.c
r5436 r5438 57 57 58 58 static void * _copy_kv(struct roar_keyval ** copy, struct roar_keyval * src, size_t len) { 59 size_t buflen, i; 59 size_t buflen = 0; 60 size_t i; 60 61 void * ret; 61 62 char * p; 62 63 struct roar_keyval * c; 63 64 64 buflen = len * (sizeof(struct roar_keyval) + 2 /* terminating \0s */);65 66 65 for (i = 0; i < len; i++) { 67 66 if ( src[i].key != NULL ) 68 buflen += roar_mm_strlen(src[i].key) ;67 buflen += roar_mm_strlen(src[i].key) + 1; 69 68 if ( src[i].value != NULL ) 70 buflen += roar_mm_strlen(src[i].value); 71 } 69 buflen += roar_mm_strlen(src[i].value) + 1; 70 } 71 72 c = roar_mm_malloc(len * sizeof(struct roar_keyval)); 73 if ( c == NULL ) 74 return NULL; 75 76 memset(c, 0, len * sizeof(struct roar_keyval)); 72 77 73 78 ret = roar_mm_malloc(buflen); … … 77 82 memset(ret, 0, buflen); 78 83 79 c = ret; 80 p = ret + len*sizeof(struct roar_keyval); 84 p = ret; 81 85 82 86 for (i = 0; i < len; i++) { … … 178 182 int roar_plugincontainer_ref(struct roar_plugincontainer * cont) { 179 183 if ( cont == NULL ) { 184 ROAR_DBG("roar_plugincontainer_ref(cont=%p) = -1 // error=FAULT", cont); 180 185 roar_err_set(ROAR_ERROR_FAULT); 181 186 return -1; … … 184 189 cont->refc++; 185 190 191 ROAR_DBG("roar_plugincontainer_ref(cont=%p) = 0", cont); 186 192 return 0; 187 193 } … … 191 197 192 198 if ( cont == NULL ) { 199 ROAR_DBG("roar_plugincontainer_unref(cont=%p) = -1 // error=FAULT", cont); 193 200 roar_err_set(ROAR_ERROR_FAULT); 194 201 return -1; … … 197 204 cont->refc--; 198 205 199 if ( cont->refc ) 206 if ( cont->refc ) { 207 ROAR_DBG("roar_plugincontainer_unref(cont=%p) = 0", cont); 200 208 return 0; 209 } 201 210 202 211 while (cont->numhandles) { … … 220 229 roar_mm_free(cont); 221 230 231 ROAR_DBG("roar_plugincontainer_unref(cont=%p) = 0", cont); 222 232 return 0; 223 233 }
Note: See TracChangeset
for help on using the changeset viewer.