Move tsort data out of rpmte into, duh, tsortInfo
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 18 Dec 2009 09:56:04 +0000 (11:56 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 21 Dec 2009 07:17:01 +0000 (09:17 +0200)
lib/rpmte.c
lib/rpmte_internal.h

index 9ffe44b..9d59400 100644 (file)
@@ -38,10 +38,6 @@ struct rpmte_s {
 
     rpmte depends;              /*!< Package updated by this package (ERASE te) */
     rpmte parent;              /*!< Parent transaction element. */
-    int degree;                        /*!< No. of immediate children. */
-    int npreds;                        /*!< No. of predecessors. */
-    int tree;                  /*!< Tree index. */
-    int depth;                 /*!< Depth in dependency tree. */
     unsigned int db_instance;  /*!< Database instance (of removed pkgs) */
     tsortInfo tsi;             /*!< Dependency ordering chains. */
 
@@ -407,45 +403,45 @@ rpm_loff_t rpmtePkgFileSize(rpmte te)
 
 int rpmteDepth(rpmte te)
 {
-    return (te != NULL ? te->depth : 0);
+    return (te && te->tsi ? te->tsi->depth : 0);
 }
 
 int rpmteSetDepth(rpmte te, int ndepth)
 {
     int odepth = 0;
-    if (te != NULL) {
-       odepth = te->depth;
-       te->depth = ndepth;
+    if (te && te->tsi) {
+       odepth = te->tsi->depth;
+       te->tsi->depth = ndepth;
     }
     return odepth;
 }
 
 int rpmteNpreds(rpmte te)
 {
-    return (te != NULL ? te->npreds : 0);
+    return (te && te->tsi ? te->tsi->npreds : 0);
 }
 
 int rpmteSetNpreds(rpmte te, int npreds)
 {
     int opreds = 0;
-    if (te != NULL) {
-       opreds = te->npreds;
-       te->npreds = npreds;
+    if (te && te->tsi) {
+       opreds = te->tsi->npreds;
+       te->tsi->npreds = npreds;
     }
     return opreds;
 }
 
 int rpmteTree(rpmte te)
 {
-    return (te != NULL ? te->tree : 0);
+    return (te && te->tsi ? te->tsi->tree : 0);
 }
 
 int rpmteSetTree(rpmte te, int ntree)
 {
     int otree = 0;
-    if (te != NULL) {
-       otree = te->tree;
-       te->tree = ntree;
+    if (te && te->tsi) {
+       otree = te->tsi->tree;
+       te->tsi->tree = ntree;
     }
     return otree;
 }
@@ -467,15 +463,15 @@ rpmte rpmteSetParent(rpmte te, rpmte pte)
 
 int rpmteDegree(rpmte te)
 {
-    return (te != NULL ? te->degree : 0);
+    return (te && te->tsi ? te->tsi->degree : 0);
 }
 
 int rpmteSetDegree(rpmte te, int ndegree)
 {
     int odegree = 0;
-    if (te != NULL) {
-       odegree = te->degree;
-       te->degree = ndegree;
+    if (te && te->tsi) {
+       odegree = te->tsi->degree;
+       te->tsi->degree = ndegree;
     }
     return odegree;
 }
index ed36958..0d0774d 100644 (file)
@@ -17,6 +17,10 @@ struct relation_s {
 typedef struct relation_s * relation;
 
 struct tsortInfo_s {
+    int degree;                        /*!< No. of immediate children. */
+    int npreds;                        /*!< No. of predecessors. */
+    int tree;                  /*!< Tree index. */
+    int depth;                 /*!< Depth in dependency tree. */
     int             tsi_count;     // #pkgs this pkg requires
     int             tsi_qcnt;      // #pkgs requiring this package
     int             tsi_reqx;       // requires Idx/mark as (queued/loop)