Add rpmxp.c to rpmtool.
authorjbj <devnull@localhost>
Mon, 14 Jun 2004 03:23:12 +0000 (03:23 +0000)
committerjbj <devnull@localhost>
Mon, 14 Jun 2004 03:23:12 +0000 (03:23 +0000)
CVS patchset: 7318
CVS date: 2004/06/14 03:23:12

tools/Makefile.am
tools/rpmtool.c
tools/rpmxp.c
tools/rpmxp.h

index 209f692..a932b1b 100644 (file)
@@ -66,8 +66,9 @@ rpminject_SOURCES =   rpminject.c
 rpmsort_SOURCES =      rpmsort.c
 #rpmsort_LDFLAGS =     $(staticLDFLAGS)
 
-rpmtool_SOURCES =      rpmtool.c
+rpmtool_SOURCES =      rpmtool.c rpmxp.c
 #rpmtool_LDFLAGS =     $(staticLDFLAGS)
+rpmtool_LDADD =                $(LDADD) -lxml2
 
 rpmxml_SOURCES =       rpmxml.c rpmxp.c
 rpmxml_LDADD =         -lxml2
index 8089924..3f19eae 100644 (file)
@@ -1,6 +1,7 @@
 #include "system.h"
 
 #include <rpmcli.h>
+#include <rpmxp.h>
 
 #include <rpmlead.h>
 #include <signature.h>
@@ -8,18 +9,6 @@
 #include "misc.h"
 #include "debug.h"
 
-static const char * rpmxpDTD = "\
-<?xml version=\"1.0\"?>\n\
-<!DOCTYPE rpmHeader [\n\
-<!ELEMENT rpmHeader (rpmTag+)>\n\
-<!ELEMENT rpmTag       (string+|integer+|base64+)>\n\
-<!ATTLIST rpmTag name  CDATA #REQUIRED>\n\
-<!ELEMENT string       (#PCDATA)>\n\
-<!ELEMENT integer      (#PCDATA)>\n\
-<!ELEMENT base64       (#PCDATA)>\n\
-]>\n\
-";
-
 typedef enum rpmtoolComponentBits_e {
     RPMTOOL_NONE       = 0,
     RPMTOOL_LEAD       = (1 << 0),
@@ -233,7 +222,8 @@ fprintf(stderr, "*** Fopen(%s,w.ufdio)\n", (ofn != NULL ? ofn : "-"));
                t = headerSprintf(h, s, rpmTagTable, rpmHeaderFormats, &errstr);
                
                if (t != NULL) {
-                   Fwrite(rpmxpDTD, strlen(rpmxpDTD), 1, fdo);
+                   if (rpmxpDTD != NULL && *rpmxpDTD != '\0')
+                       Fwrite(rpmxpDTD, strlen(rpmxpDTD), 1, fdo);
                    Fwrite(t, strlen(t), 1, fdo);
                }
                t = _free(t);
index fea2c21..ab5fde9 100644 (file)
@@ -5,6 +5,18 @@
 
 int _rpmxp_debug = 0;
 
+const char * rpmxpDTD = "\
+<?xml version=\"1.0\"?>\n\
+<!DOCTYPE rpmHeader [\n\
+<!ELEMENT rpmHeader (rpmTag+)>\n\
+<!ELEMENT rpmTag       (string+|integer+|base64+)>\n\
+<!ATTLIST rpmTag name  CDATA #REQUIRED>\n\
+<!ELEMENT string       (#PCDATA)>\n\
+<!ELEMENT integer      (#PCDATA)>\n\
+<!ELEMENT base64       (#PCDATA)>\n\
+]>\n\
+";
+
 rpmxp rpmxpFree(rpmxp xp)
 {
     if (xp != NULL) {
index c3b65e6..ad72768 100644 (file)
@@ -17,8 +17,12 @@ extern int _rpmxp_debug;
 
 /**
  */
-typedef struct rpmxp_s * rpmxp;
+/*@unchecked@*/ /*@observer@*/
+extern const char * rpmxpDTD;
 
+/**
+ */
+typedef struct rpmxp_s * rpmxp;
 
 #if defined(_RPMXP_INTERNAL)
 /**