From: Michael Schroeder Date: Wed, 13 Feb 2019 13:02:31 +0000 (+0100) Subject: Simplify moldule code X-Git-Tag: 0.7.4~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9a8953aee107d148ddabddd7217ba7656ec46f8;p=thirdparty%2Flibsolv.git Simplify moldule code Use repodata_set_poolstr instead of converting the string to an id and calling repodata_set_id. --- diff --git a/ext/repo_updateinfoxml.c b/ext/repo_updateinfoxml.c index 8a3d1479..f3757272 100644 --- a/ext/repo_updateinfoxml.c +++ b/ext/repo_updateinfoxml.c @@ -327,7 +327,8 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha case STATE_MODULE: { const char *name = 0, *stream = 0, *version = 0, *context = 0, *arch = 0; - Id name_id, stream_id, version_id, context_id, arch_id = 0; + Id module_handle; + for (; *atts; atts += 2) { if (!strcmp(*atts, "arch")) @@ -341,20 +342,17 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha else if (!strcmp(*atts, "context")) context = atts[1]; } - name_id = pool_str2id(pool, name, 1); + module_handle = repodata_new_handle(pd->data); + if (name) + repodata_set_poolstr(pd->data, module_handle, UPDATE_MODULE_NAME, name); + if (stream) + repodata_set_poolstr(pd->data, module_handle, UPDATE_MODULE_STREAM, stream); + if (version) + repodata_set_poolstr(pd->data, module_handle, UPDATE_MODULE_VERSION, version); + if (context) + repodata_set_poolstr(pd->data, module_handle, UPDATE_MODULE_CONTEXT, context); if (arch) - arch_id = pool_str2id(pool, arch, 1); - stream_id = pool_str2id(pool, stream, 1); - version_id = pool_str2id(pool, version, 1); - context_id = pool_str2id(pool, context, 1); - - Id module_handle = repodata_new_handle(pd->data); - repodata_set_id(pd->data, module_handle, UPDATE_MODULE_NAME, name_id); - repodata_set_id(pd->data, module_handle, UPDATE_MODULE_STREAM, stream_id); - repodata_set_id(pd->data, module_handle, UPDATE_MODULE_VERSION, version_id); - repodata_set_id(pd->data, module_handle, UPDATE_MODULE_CONTEXT, context_id); - if (arch_id) - repodata_set_id(pd->data, module_handle, UPDATE_MODULE_ARCH, arch_id); + repodata_set_poolstr(pd->data, module_handle, UPDATE_MODULE_ARCH, arch); repodata_add_flexarray(pd->data, pd->handle, UPDATE_MODULE, module_handle); break; }