Add more 64bit size tags + tag extensions for converting from old values
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 12 Jun 2008 12:05:43 +0000 (15:05 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 12 Jun 2008 12:05:43 +0000 (15:05 +0300)
lib/rpmtag.h
lib/tagexts.c

index adeb172..0ea43ba 100644 (file)
@@ -277,6 +277,9 @@ typedef enum rpmTag_e {
     RPMTAG_TRIGGERTYPE         = 5006, /* s[] extension */
     RPMTAG_ORIGFILENAMES       = 5007, /* s[] extension */
     RPMTAG_LONGFILESIZES       = 5008, /* l[] */
+    RPMTAG_LONGARCHIVESIZE     = 5009, /* l */
+    RPMTAG_LONGSIZE            = 5010, /* l */
+    RPMTAG_LONGSIGSIZE         = 5011, /* l */
 
     RPMTAG_FIRSTFREE_TAG       /*!< internal */
 } rpmTag;
index b1324c0..f379bd7 100644 (file)
@@ -610,6 +610,21 @@ static int longfilesizesTag(Header h, rpmtd td)
     return get64(h, td, RPMTAG_LONGFILESIZES, RPMTAG_FILESIZES);
 }
 
+static int longarchivesizeTag(Header h, rpmtd td)
+{
+    return get64(h, td, RPMTAG_LONGARCHIVESIZE, RPMTAG_ARCHIVESIZE);
+}
+
+static int longsizeTag(Header h, rpmtd td)
+{
+    return get64(h, td, RPMTAG_LONGSIZE, RPMTAG_SIZE);
+}
+
+static int longsigsizeTag(Header h, rpmtd td)
+{
+    return get64(h, td, RPMTAG_LONGSIGSIZE, RPMTAG_SIGSIZE);
+}
+
 void *rpmHeaderTagFunc(rpmTag tag)
 {
     const struct headerTagFunc_s * ext;
@@ -639,6 +654,9 @@ static const struct headerTagFunc_s rpmHeaderTagExtensions[] = {
     { RPMTAG_TRIGGERCONDS,     triggercondsTag },
     { RPMTAG_TRIGGERTYPE,      triggertypeTag },
     { RPMTAG_LONGFILESIZES,    longfilesizesTag },
+    { RPMTAG_LONGARCHIVESIZE,  longarchivesizeTag },
+    { RPMTAG_LONGSIZE,         longsizeTag },
+    { RPMTAG_LONGSIGSIZE,      longsigsizeTag },
     { 0,                       NULL }
 };