From 94e9397435dece32e0f834e43d26d3649dc84d8f Mon Sep 17 00:00:00 2001 From: root Date: Thu, 27 Jun 1996 18:25:09 +0000 Subject: [PATCH] handle staticly linked binaries CVS patchset: 685 CVS date: 1996/06/27 18:25:09 --- build/reqprov.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/build/reqprov.c b/build/reqprov.c index 00025a7..502202e 100644 --- a/build/reqprov.c +++ b/build/reqprov.c @@ -15,6 +15,7 @@ #include "messages.h" #include "rpmlib.h" #include "rpmerr.h" +#include "misc.h" static void parseFileForProv(char *f, struct PackageRec *p); @@ -105,7 +106,7 @@ static void parseFileForProv(char *f, struct PackageRec *p) int generateAutoReqProv(Header header, struct PackageRec *p) { - char **f, *s, *tok; + char **f, **fsave, *s, *tok; int count; int lddPID; int lddDead; @@ -234,8 +235,12 @@ int generateAutoReqProv(Header header, struct PackageRec *p) freeStringBuf(writeBuff); s = getStringBuf(readBuff); - while (*s) { - if (isspace(*s)) { + f = fsave = splitString(s, strlen(s), '\n'); + freeStringBuf(readBuff); + + while (*f) { + s = *f; + if (isspace(*s) && strstr(s, "=>")) { while (isspace(*s)) { s++; } @@ -247,19 +252,15 @@ int generateAutoReqProv(Header header, struct PackageRec *p) } else { /* ACK! */ error(RPMERR_LDD, "ldd is babbling: %s", tok); + free(fsave); return 1; } - s++; - } - while (*s && *s != '\n') { - s++; - } - if (*s) { - s++; } + + f++; } - freeStringBuf(readBuff); + free(fsave); return 0; } -- 2.7.4