/* * Frees resources associated with a unit-system. * * Arguments: * system Pointer to the unit-system to have its associated * resources freed. */ void utimFreeSystem( ut_system* system) { if (system != NULL) { SystemMap* systemMaps[2]; int i; systemMaps[0] = systemToUnitToName; systemMaps[1] = systemToUnitToSymbol; for (i = 0; i < 2; i++) { if (systemMaps[i] != NULL) { UnitToIdMap** const unitToId = (UnitToIdMap**)smFind(systemMaps[i], system); if (unitToId != NULL) utimFree(*unitToId); smRemove(systemMaps[i], system); } } } }
/* * Frees resources associated with a unit-system. * * Arguments: * system Pointer to the unit-system to have its associated * resources freed. */ void itumFreeSystem( ut_system* system) { if (system != NULL) { SystemMap* systemMaps[2]; int i; systemMaps[0] = systemToNameToUnit; systemMaps[1] = systemToSymbolToUnit; for (i = 0; i < 2; i++) { if (systemMaps[i] != NULL) { IdToUnitMap** const idToUnit = (IdToUnitMap**)smFind(systemMaps[i], system); if (idToUnit != NULL) itumFree(*idToUnit); smRemove(systemMaps[i], system); } } } /* valid arguments */ }