diff -r 472f8d7c7bbc -r 6ff03223ce4c rpm.c --- a/rpm.c Sat Apr 05 00:44:45 2008 -0400 +++ b/rpm.c Sat Apr 05 23:55:00 2008 -0400 @@ -188,15 +188,19 @@ /* Look up dir names now so we can index them directly. */ name = razor_rpm_get_indirect(rpm, RPMTAG_DIRNAMES, &count); - if (name == NULL) { - fprintf(stderr, "old filename style not handled\n"); - return NULL; - } - - rpm->dirs = calloc(count, sizeof *rpm->dirs); - for (i = 0; i < count; i++) { - rpm->dirs[i] = name; - name += strlen(name) + 1; + if (name) { + rpm->dirs = calloc(count, sizeof *rpm->dirs); + for (i = 0; i < count; i++) { + rpm->dirs[i] = name; + name += strlen(name) + 1; + } + } else { + name = razor_rpm_get_indirect(rpm, RPMTAG_OLDFILENAMES, + &count); + if (name) { + fprintf(stderr, "old filenames not supported\n"); + return NULL; + } } return rpm;