rpm.c
changeset 187 6ff03223ce4c
parent 184 472f8d7c7bbc
child 192 55b177b689c0
     1.1 --- a/rpm.c	Sat Apr 05 00:44:45 2008 -0400
     1.2 +++ b/rpm.c	Sat Apr 05 23:55:00 2008 -0400
     1.3 @@ -188,15 +188,19 @@
     1.4  
     1.5  	/* Look up dir names now so we can index them directly. */
     1.6  	name = razor_rpm_get_indirect(rpm, RPMTAG_DIRNAMES, &count);
     1.7 -	if (name == NULL) {
     1.8 -		fprintf(stderr, "old filename style not handled\n");
     1.9 -		return NULL;
    1.10 -	}
    1.11 -
    1.12 -	rpm->dirs = calloc(count, sizeof *rpm->dirs);
    1.13 -	for (i = 0; i < count; i++) {
    1.14 -		rpm->dirs[i] = name;
    1.15 -		name += strlen(name) + 1;
    1.16 +	if (name) {
    1.17 +		rpm->dirs = calloc(count, sizeof *rpm->dirs);
    1.18 +		for (i = 0; i < count; i++) {
    1.19 +			rpm->dirs[i] = name;
    1.20 +			name += strlen(name) + 1;
    1.21 +		}
    1.22 +	} else {
    1.23 +		name = razor_rpm_get_indirect(rpm, RPMTAG_OLDFILENAMES,
    1.24 +					      &count);
    1.25 +		if (name) {
    1.26 +			fprintf(stderr, "old filenames not supported\n");
    1.27 +			return NULL;
    1.28 +		}
    1.29  	}
    1.30  
    1.31  	return rpm;