@@ -161,14 +161,16 @@ adb_get_dep(const unsigned char *adb, size_t adblen, unsigned int v, Pool *pool,
161161{
162162 unsigned int cnt ;
163163 Id id , evr ;
164- unsigned long long match ;;
164+ unsigned long long match ;
165165 if (!(cnt = adb_arr (adb , adblen , v )))
166166 return 0 ;
167167 id = adb_poolid (adb , adblen , adb_idx (adb , v , cnt , 1 ), pool );
168168 if (!id )
169169 return 0 ;
170170 evr = cnt > 2 ? adb_poolid (adb , adblen , adb_idx (adb , v , cnt , 2 ), pool ) : 0 ;
171- match = cnt > 3 ? adb_num (adb , adblen , adb_idx (adb , v , cnt , 3 ), & match ) : 1 ;
171+ match = 1 ;
172+ if (cnt > 3 && !adb_num (adb , adblen , adb_idx (adb , v , cnt , 3 ), & match ))
173+ return 0 ;
172174 if (match & 16 )
173175 {
174176 if (!whatp || * whatp != SOLVABLE_REQUIRES )
@@ -189,7 +191,7 @@ adb_get_dep(const unsigned char *adb, size_t adblen, unsigned int v, Pool *pool,
189191 /* fuzzy match, prepend ~ to evr */
190192 char * space = pool_alloctmpspace (pool , strlen (pool_id2str (pool , evr )) + 2 );
191193 space [0 ] = '~' ;
192- strcpy (space , pool_id2str (pool , evr ));
194+ strcpy (space + 1 , pool_id2str (pool , evr ));
193195 evr = pool_str2id (pool , space , 1 );
194196 pool_freetmpspace (pool , space );
195197 }
@@ -248,6 +250,7 @@ adb_add_pkg_info(Pool *pool, Repo *repo, Repodata *data, const unsigned char *ad
248250 s = pool_id2solvable (pool , repo_add_solvable (repo ));
249251 s -> name = name ;
250252 s -> evr = adb_poolid (adb , adblen , adb_idx (adb , v , cnt , 2 ), pool );
253+ adb_setstr (adb , adblen , adb_idx (adb , v , cnt , 4 ), data , s - pool -> solvables , SOLVABLE_SUMMARY );
251254 adb_setstr (adb , adblen , adb_idx (adb , v , cnt , 4 ), data , s - pool -> solvables , SOLVABLE_DESCRIPTION );
252255 s -> arch = adb_poolid (adb , adblen , adb_idx (adb , v , cnt , 5 ), pool );
253256 license = adb_poolid (adb , adblen , adb_idx (adb , v , cnt , 6 ), pool );
0 commit comments