om_uint32 om_uint32_update_parse_helper( \ om_update_parse_type type, const char *str_in) { char * str = om_string_toupper(str_in); om_uint32 ret = 0; switch(type) { // update type enumeration case OM_UPDATE_TYPE: ret = (om_uint32)om_update_string_to_type_enum(str); break; case OM_UPDATE_HASH_TYPE: ret = (om_uint32)om_hash_string_to_enum(str); break; // om_uint32 products case OM_UPDATE_INSTALL_NEEDS: case OM_UPDATE_STORAGE_NEEDS: ret = (om_uint32)atoi(str); break; default: ret = 0; break; } om_free(str); return ret; }
om_hash_enum om_hash_string_to_enum(const char * algorithm) { char *copy = om_string_toupper(algorithm); if( strcmp(copy,OmHashTypeMd5)==0 ) { om_free(copy);return OM_HASH_MD5; } if( strcmp(copy,OmHashTypeSha1)==0 ) { om_free(copy);return OM_HASH_SHA1; } om_free(copy);return 0; }
om_update_type_enum om_update_string_to_type_enum(const char *str) { char *copy = om_string_toupper(str); if( strcmp(copy,OmUpdateTypeRequired)==0 ) { om_free(copy);return OM_UPDATE_TYPE_REQUIRED; } if( strcmp(copy,OmUpdateTypeOptional)==0 ) { om_free(copy);return OM_UPDATE_TYPE_OPTIONAL; } if( strcmp(copy,OmUpdateTypeImmediate)==0 ) { om_free(copy);return OM_UPDATE_TYPE_IMMEDIATE; } if( strcmp(copy,OmUpdateTypeNone)==0 ) { om_free(copy);return OM_UPDATE_TYPE_NONE; } return 0; }