ut_macro ut_macroSetGet( const ut_macroSet macroSet, const os_char *name) { ut_macro macro; macro = os_iterResolve(macroSet->macroSet, ut_macroNameMatch, (void *)name); return macro; }
void ut_macroSetAdd( const ut_macroSet macroSet, const ut_macro macro) { ut_macro old_macro; old_macro = os_iterResolve(macroSet->macroSet, ut_macroNameMatch, macro->name); if (old_macro) { os_iterTake(macroSet->macroSet, old_macro); } os_iterInsert(macroSet->macroSet, macro); }
os_result idl_genJavaHelperAddPackageRedirect ( const os_char *optarg) { idl_packageRedirect exists, redirect = NULL; os_char *colon; os_char *module = NULL; os_char *package = NULL; os_char *trim = NULL; os_result result = os_resultSuccess; assert (optarg != NULL); colon = os_index (optarg, ':'); if (colon != NULL) { if (colon == optarg) { module = NULL; } else { module = os_strndup (optarg, (size_t) (colon - optarg)); if (module != NULL) { if ((trim = os_str_trim (module, "./:")) != module) { os_free (module); } module = trim; } if (module == NULL) { result = os_resultFail; } else if (strlen (module) == 0) { os_free (module); module = NULL; } } package = os_strdup (colon + 1); if ((trim = os_str_trim (package, "./:")) != package) { os_free (package); } package = trim; if (strlen (package) == 0) { result = os_resultInvalid; } redirect = os_malloc (OS_SIZEOF (idl_packageRedirect)); if (result == os_resultSuccess) { redirect->module = module; redirect->package = package; exists = os_iterResolve ( idl_genJavaHelperPackageRedirects, &idl_genJavaHelperComparePackageRedirect, redirect); if (exists != NULL) { result = os_resultInvalid; } else { idl_genJavaHelperPackageRedirects = os_iterAppend ( idl_genJavaHelperPackageRedirects, redirect); /* idl_genJavaHelperPackageRedirect must be sorted */ os_iterSort ( idl_genJavaHelperPackageRedirects, &idl_genJavaHelperComparePackageRedirect, OS_FALSE); } } if (result != os_resultSuccess) { os_free (module); os_free (package); os_free (redirect); } } else { result = os_resultInvalid; } return result; }