@@ -327,7 +327,8 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
327327 case STATE_MODULE :
328328 {
329329 const char * name = 0 , * stream = 0 , * version = 0 , * context = 0 , * arch = 0 ;
330- Id name_id , stream_id , version_id , context_id , arch_id = 0 ;
330+ Id module_handle ;
331+
331332 for (; * atts ; atts += 2 )
332333 {
333334 if (!strcmp (* atts , "arch" ))
@@ -341,20 +342,17 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
341342 else if (!strcmp (* atts , "context" ))
342343 context = atts [1 ];
343344 }
344- name_id = pool_str2id (pool , name , 1 );
345+ module_handle = repodata_new_handle (pd -> data );
346+ if (name )
347+ repodata_set_poolstr (pd -> data , module_handle , UPDATE_MODULE_NAME , name );
348+ if (stream )
349+ repodata_set_poolstr (pd -> data , module_handle , UPDATE_MODULE_STREAM , stream );
350+ if (version )
351+ repodata_set_poolstr (pd -> data , module_handle , UPDATE_MODULE_VERSION , version );
352+ if (context )
353+ repodata_set_poolstr (pd -> data , module_handle , UPDATE_MODULE_CONTEXT , context );
345354 if (arch )
346- arch_id = pool_str2id (pool , arch , 1 );
347- stream_id = pool_str2id (pool , stream , 1 );
348- version_id = pool_str2id (pool , version , 1 );
349- context_id = pool_str2id (pool , context , 1 );
350-
351- Id module_handle = repodata_new_handle (pd -> data );
352- repodata_set_id (pd -> data , module_handle , UPDATE_MODULE_NAME , name_id );
353- repodata_set_id (pd -> data , module_handle , UPDATE_MODULE_STREAM , stream_id );
354- repodata_set_id (pd -> data , module_handle , UPDATE_MODULE_VERSION , version_id );
355- repodata_set_id (pd -> data , module_handle , UPDATE_MODULE_CONTEXT , context_id );
356- if (arch_id )
357- repodata_set_id (pd -> data , module_handle , UPDATE_MODULE_ARCH , arch_id );
355+ repodata_set_poolstr (pd -> data , module_handle , UPDATE_MODULE_ARCH , arch );
358356 repodata_add_flexarray (pd -> data , pd -> handle , UPDATE_MODULE , module_handle );
359357 break ;
360358 }
0 commit comments