wrap up req/dep
authorroot <devnull@localhost>
Fri, 7 Jun 1996 18:31:08 +0000 (18:31 +0000)
committerroot <devnull@localhost>
Fri, 7 Jun 1996 18:31:08 +0000 (18:31 +0000)
CVS patchset: 618
CVS date: 1996/06/07 18:31:08

build/spec.c

index 636a6a0..a83b35f 100644 (file)
@@ -26,6 +26,7 @@ TODO:
 #include "rpmlib.h"
 #include "stringbuf.h"
 #include "misc.h"
+#include "reqprov.h"
 
 #define LINE_BUF_SIZE 1024
 #define FREE(x) { if (x) free(x); }
@@ -44,9 +45,10 @@ static int lookup_package(Spec s, struct PackageRec **pr,
 static void dumpPackage(struct PackageRec *p, FILE *f);
 static void parseForDocFiles(struct PackageRec *package, char *line);
 
+
 static int parseProvides(struct PackageRec *p, char *line);
 static int parseRequires(struct PackageRec *p, char *line);
-void free_reqprov(struct ReqProv *p);
+static void free_reqprov(struct ReqProv *p);
 
 /**********************************************************************/
 /*                                                                    */
@@ -191,42 +193,20 @@ char *getFullSource(Spec s, int ispatch, int num)
 /*                                                                    */
 /**********************************************************************/
 
-int addReqProv(struct PackageRec *p, int flags,
-             char *name, char *version)
-{
-    struct ReqProv *rd;
-
-    rd = (struct ReqProv *)malloc(sizeof(*rd));
-    rd->flags = flags;
-    rd->name = strdup(name);
-    rd->version = version ? strdup(version) : NULL;
-    rd->next = p->reqprov;
-    p->reqprov = rd;
-
-    if (flags & REQUIRE_PROVIDES) {
-       message(MESS_DEBUG, "Adding provide: %s\n", name);
-       p->numProv++;
-    } else {
-       message(MESS_DEBUG, "Adding require: %s\n", name);
-       p->numReq++;
-    }
-
-    return 0;
-}
-
-static int parseProvides(struct PackageRec *p, char *line)
+static void free_reqprov(struct ReqProv *p)
 {
-    char *prov;
-    int flags = REQUIRE_PROVIDES;
+    struct ReqProv *s;
     
-    while ((prov = strtok(line, " ,\t\n"))) {
-       addReqProv(p, flags, prov, NULL);
-       line = NULL;
+    while (p) {
+       s = p;
+       p = p->next;
+       FREE(s->name);
+       FREE(s->version);
+       free(s);
     }
-    return 0;
 }
 
-struct ReqComp {
+static struct ReqComp {
     char *token;
     int flags;
 } ReqComparisons[] = {
@@ -257,7 +237,7 @@ static int parseRequires(struct PackageRec *p, char *line)
     struct ReqComp *rc;
 
     while (req || (req = strtok(line, " ,\t\n"))) {
-       flags = 0;
+       flags = REQUIRE_ANY;
        if ((version = strtok(NULL, " ,\t\n"))) {
            rc = ReqComparisons;
            while (rc->token && strcmp(version, rc->token)) {
@@ -287,22 +267,15 @@ static int parseRequires(struct PackageRec *p, char *line)
     return 0;
 }
 
-void free_reqprov(struct ReqProv *p)
+static int parseProvides(struct PackageRec *p, char *line)
 {
-    struct ReqProv *s;
+    char *prov;
+    int flags = REQUIRE_PROVIDES;
     
-    while (p) {
-       s = p;
-       p = p->next;
-       FREE(s->name);
-       FREE(s->version);
-       free(s);
+    while ((prov = strtok(line, " ,\t\n"))) {
+       addReqProv(p, flags, prov, NULL);
+       line = NULL;
     }
-}
-
-int addReqProvHeaderEntry(Header h, struct PackageRec *p)
-{
-    message(MESS_DEBUG, "provides: %d\nrequires: %d\n", p->numProv, p->numReq);
     return 0;
 }