razor.c
changeset 100 27aada326858
parent 99 7e5f2050db0e
child 101 9708f6d5db8c
     1.1 --- a/razor.c	Thu Jan 10 23:30:51 2008 -0500
     1.2 +++ b/razor.c	Thu Jan 10 23:42:42 2008 -0500
     1.3 @@ -621,7 +621,6 @@
     1.4  	return *p1 - *p2;
     1.5  }
     1.6  
     1.7 -
     1.8  static int
     1.9  compare_packages(const void *p1, const void *p2, void *data)
    1.10  {
    1.11 @@ -1059,48 +1058,28 @@
    1.12  
    1.13  void
    1.14  razor_set_list_property_packages(struct razor_set *set,
    1.15 -				 const char *ref_name,
    1.16 -				 const char *ref_version,
    1.17 -				 enum razor_property_type ref_type)
    1.18 +				 struct razor_property *property)
    1.19  {
    1.20 -	struct razor_property *property;
    1.21 -	struct razor_property_iterator *pi;
    1.22  	struct razor_package *p, *packages;
    1.23 -	const char *name, *version, *pool;
    1.24 -	enum razor_property_type type;
    1.25 +	const char *pool;
    1.26  	unsigned long *r;
    1.27  
    1.28 -	if (ref_name == NULL)
    1.29 -		return;
    1.30 -
    1.31  	packages = set->packages.data;
    1.32  	pool = set->string_pool.data;
    1.33  
    1.34 -	pi = razor_property_iterator_create(set, NULL);
    1.35 -	while (razor_property_iterator_next(pi, &property,
    1.36 -					    &name, &version, &type)) {
    1.37 -		if (strcmp(ref_name, name) != 0)
    1.38 -			continue;
    1.39 -		if (ref_version && versioncmp(ref_version, version) != 0)
    1.40 -			continue;
    1.41 -		if (ref_type != type)
    1.42 -			continue;
    1.43 -		
    1.44 -		if (property->packages & RAZOR_IMMEDIATE)
    1.45 -			r = &property->packages;
    1.46 -		else
    1.47 -			r = (unsigned long *)
    1.48 -				set->package_pool.data + property->packages;
    1.49 -		while (1) {
    1.50 -			p = &packages[*r & RAZOR_ENTRY_MASK];
    1.51 -			printf("%s-%s\n",
    1.52 -			       &pool[p->name & RAZOR_ENTRY_MASK],
    1.53 -			       &pool[p->version]);
    1.54 -			if (*r++ & RAZOR_IMMEDIATE)
    1.55 -				break;
    1.56 -		}
    1.57 +	if (property->packages & RAZOR_IMMEDIATE)
    1.58 +		r = &property->packages;
    1.59 +	else
    1.60 +		r = (unsigned long *)
    1.61 +			set->package_pool.data + property->packages;
    1.62 +	while (1) {
    1.63 +		p = &packages[*r & RAZOR_ENTRY_MASK];
    1.64 +		printf("%s-%s\n",
    1.65 +		       &pool[p->name & RAZOR_ENTRY_MASK],
    1.66 +		       &pool[p->version]);
    1.67 +		if (*r++ & RAZOR_IMMEDIATE)
    1.68 +			break;
    1.69  	}
    1.70 -	razor_property_iterator_destroy(pi);
    1.71  }
    1.72  
    1.73  static struct razor_entry *