Set the property type when merging package sets.
authorKristian H?gsberg <krh@redhat.com>
Sun Nov 04 00:58:57 2007 -0400 (2007-11-04)
changeset 6935ca1ba469ec
parent 68 0587f1759f09
child 70 e94d16f789e5
Set the property type when merging package sets.
razor.c
     1.1 --- a/razor.c	Sun Nov 04 00:58:25 2007 -0400
     1.2 +++ b/razor.c	Sun Nov 04 00:58:57 2007 -0400
     1.3 @@ -1414,12 +1414,12 @@
     1.4  
     1.5  static unsigned long
     1.6  add_property(struct razor_importer *importer,
     1.7 -	     const char *name, const char *version)
     1.8 +	     const char *name, const char *version, int type)
     1.9  {
    1.10  	struct razor_property *p;
    1.11  
    1.12  	p = array_add(&importer->set->properties, sizeof *p);
    1.13 -	p->name = razor_importer_tokenize(importer, name);
    1.14 +	p->name = razor_importer_tokenize(importer, name) | (type << 30);
    1.15  	p->version = razor_importer_tokenize(importer, version);
    1.16  
    1.17  	return p - (struct razor_property *) importer->set->properties.data;
    1.18 @@ -1467,15 +1467,18 @@
    1.19  		if (cmp < 0) {
    1.20  			map1[i++] = add_property(importer,
    1.21  						 &pool1[p1->name & RAZOR_ENTRY_MASK],
    1.22 -						 &pool1[p1->version]);
    1.23 +						 &pool1[p1->version],
    1.24 +						 (p1->name >> 30));
    1.25  		} else if (cmp > 0) {
    1.26  			map2[j++] = add_property(importer,
    1.27  						 &pool2[p2->name & RAZOR_ENTRY_MASK],
    1.28 -						 &pool2[p2->version]);
    1.29 +						 &pool2[p2->version],
    1.30 +						 (p2->name >> 30));
    1.31  		} else  {
    1.32  			map1[i++] = map2[j++] = add_property(importer,
    1.33  							     &pool1[p1->name & RAZOR_ENTRY_MASK],
    1.34 -							     &pool1[p1->version]);
    1.35 +							     &pool1[p1->version],
    1.36 +							     (p1->name >> 30));
    1.37  		}
    1.38  	}
    1.39  }