# HG changeset patch # User Kristian H?gsberg # Date 1207371732 14400 # Node ID f70e15405b5f974797524bbc5072f11143941471 # Parent 472f8d7c7bbc62d8ea7f591c3512c770512795ed No dirnames more likely means 'no files', not old-style filenames. diff -r 472f8d7c7bbc -r f70e15405b5f rpm.c --- a/rpm.c Sat Apr 05 00:44:45 2008 -0400 +++ b/rpm.c Sat Apr 05 01:02:12 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;