void d_nameSpacesFree( d_nameSpaces nameSpaces) { c_ulong i; if(nameSpaces){ if(nameSpaces->name){ os_free(nameSpaces->name); } if(nameSpaces->partitions){ os_free(nameSpaces->partitions); nameSpaces->partitions = NULL; } if(nameSpaces->state.role){ os_free(nameSpaces->state.role); nameSpaces->state.role = NULL; } if(nameSpaces->mergedStatesCount > 0){ for(i=0; i<nameSpaces->mergedStatesCount; i++){ os_free(d_mergeState(&(nameSpaces->mergedStates[i]))->role); } os_free(nameSpaces->mergedStates); } d_messageDeinit(d_message(nameSpaces)); os_free(nameSpaces); } }
d_mergeState d_mergeStateNew( const d_name role, c_ulong value) { d_mergeState mergeState; mergeState = d_mergeState(os_malloc(C_SIZEOF(d_mergeState))); if(role){ mergeState->role = os_strdup(role); } else { mergeState->role = NULL; } mergeState->value = value; return mergeState; }