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
#include "system.h"
#include <rpmcli.h>
+#include <rpmxp.h>
#include <rpmlead.h>
#include <signature.h>
#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),
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);
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) {
/**
*/
-typedef struct rpmxp_s * rpmxp;
+/*@unchecked@*/ /*@observer@*/
+extern const char * rpmxpDTD;
+/**
+ */
+typedef struct rpmxp_s * rpmxp;
#if defined(_RPMXP_INTERNAL)
/**