razor.c
changeset 36 266dba01582d
parent 35 42be648b39d8
child 37 094daff9a8dc
     1.1 --- a/razor.c	Wed Sep 19 23:02:31 2007 -0400
     1.2 +++ b/razor.c	Wed Sep 19 23:24:57 2007 -0400
     1.3 @@ -990,6 +990,18 @@
     1.4   * package indexes.  Returns a newly allocated package set.  Does not
     1.5   * enforce validity of the resulting package set. */
     1.6  
     1.7 +/* FIXME: We can do this in a linear sweep instead of using an
     1.8 + * importer and the sorting that incurs: build the new package list
     1.9 + * sorted, build up a map from package index in old set to package
    1.10 + * index in new set for both sets. ~0 means 'not in new set'.  build
    1.11 + * new string pool as we go, probably just re-use that part of the
    1.12 + * importer.  as we build the package list, fill out a bitvector of
    1.13 + * the properties that are referenced by the pacakges in the new
    1.14 + * set. then do a parallel loop through the properties and emit them
    1.15 + * to the new set and build a map from indices in the old set to
    1.16 + * indices in the new set. then loop through the packages again and
    1.17 + * emit the property lists. */
    1.18 +
    1.19  struct razor_set *
    1.20  razor_set_add(struct razor_set *set, struct razor_set *upstream,
    1.21  	      struct array *packages)