13 #define _RPMTE_INTERNAL
45 p->relocs =
_free(p->relocs);
53 p->fd =
fdFree(p->fd,
"delTE");
56 p->arch =
_free(p->arch);
57 p->epoch =
_free(p->epoch);
58 p->name =
_free(p->name);
59 p->NEVR =
_free(p->NEVR);
60 p->NEVRA =
_free(p->NEVRA);
61 p->pkgid =
_free(p->pkgid);
62 p->hdrid =
_free(p->hdrid);
64 p->flink.NEVRA =
argvFree(p->flink.NEVRA);
65 p->flink.Pkgid =
argvFree(p->flink.Pkgid);
66 p->flink.Hdrid =
argvFree(p->flink.Hdrid);
67 p->blink.NEVRA =
argvFree(p->blink.NEVRA);
68 p->blink.Pkgid =
argvFree(p->blink.Pkgid);
69 p->blink.Hdrid =
argvFree(p->blink.Hdrid);
74 memset(p, 0,
sizeof(*p));
101 const char * hdrid, * arch, * os;
102 const unsigned char * pkgid;
109 if ((p->release = strrchr(p->name,
'-')) != NULL)
110 *p->release++ =
'\0';
111 if ((p->version = strrchr(p->name,
'-')) != NULL)
112 *p->version++ =
'\0';
126 static const char hex[] =
"0123456789abcdef";
129 p->pkgid = t =
xmalloc((2*pkgidcnt) + 1);
130 for (i = 0 ; i < pkgidcnt; i++) {
131 *t++ = hex[ (unsigned)((pkgid[i] >> 4) & 0x0f) ];
132 *t++ = hex[ (unsigned)((pkgid[i] ) & 0x0f) ];
143 p->arch = (arch != NULL ?
xstrdup(arch) : NULL);
146 p->os = (os != NULL ?
xstrdup(os) : NULL);
150 nb = strlen(p->NEVR) + 1;
152 nb +=
sizeof(
"pubkey");
153 else if (p->isSource)
156 nb += strlen(p->arch) + 1;
162 t =
stpcpy( t,
".pubkey");
163 else if (p->isSource)
173 sprintf(p->epoch,
"%d", *ep);
182 if (relocs != NULL) {
188 p->relocs =
xmalloc((p->nrelocs + 1) *
sizeof(*p->relocs));
194 p->relocs[i].oldPath = NULL;
195 p->relocs[i].newPath = NULL;
197 p->autorelocatex = -1;
222 memset(te, 0,
sizeof(*te));
241 addTE(ts, p, h, key, relocs);
244 p->u.addedKey = pkgKey;
249 p->pkgFileSize += 96 + 256 + *ep;
252 p->u.addedKey = pkgKey;
253 p->u.removed.dboffset = dboffset;
262 return (te != NULL ? te->db_instance : 0);
269 te->db_instance = instance;
274 return (te != NULL && te->h != NULL ?
headerLink(te->h) : NULL);
289 return (te != NULL ? te->type : -1);
294 return (te != NULL ? te->name : NULL);
299 return (te != NULL ? te->epoch : NULL);
304 return (te != NULL ? te->version : NULL);
309 return (te != NULL ? te->release : NULL);
314 return (te != NULL ? te->arch : NULL);
319 return (te != NULL ? te->os : NULL);
324 return (te != NULL ? te->isSource : 0);
329 return (te != NULL ? te->color : 0);
344 return (te != NULL ? te->pkgFileSize : 0);
349 return (te != NULL ? te->depth : 0);
364 return (te != NULL ? te->depth : 0);
371 obreadth = te->breadth;
372 te->breadth = nbreadth;
379 return (te != NULL ? te->npreds : 0);
394 return (te != NULL ? te->tree : 0);
409 return (te != NULL ? te->parent : NULL);
428 return (te != NULL ? te->degree : 0);
435 odegree = te->degree;
436 te->degree = ndegree;
450 if (te != NULL &&
rpmteTSI(te) != NULL) {
454 while ((tsi =
rpmteTSI(te)->tsi_next) != NULL) {
455 rpmteTSI(te)->tsi_next = tsi->tsi_next;
456 tsi->tsi_next = NULL;
459 te->tsi =
_free(te->tsi);
470 te->tsi =
xcalloc(1,
sizeof(*te->tsi));
483 opkgKey = te->u.addedKey;
484 te->u.addedKey = npkgKey;
492 return (te != NULL ? te->u.removed.dboffset : 0);
497 return (te != NULL ? te->NEVR : NULL);
502 return (te != NULL ? te->NEVRA : NULL);
507 return (te != NULL ? te->pkgid : NULL);
512 return (te != NULL ? te->hdrid : NULL);
518 return (te != NULL ? te->fd : NULL);
524 return (te != NULL ? te->key : NULL);
575 nb = Count *
sizeof(*colors);
576 colors = memset(
alloca(nb), 0, nb);
577 nb = Count *
sizeof(*refs);
578 refs = memset(
alloca(nb), -1, nb);
590 mydt = ((ix >> 24) & 0xff);
619 const char * blinkNEVRA = NULL;
620 const char * blinkPkgid = NULL;
621 const char * blinkHdrid = NULL;
622 const unsigned char * pkgid;
641 static const char hex[] =
"0123456789abcdef";
645 blinkPkgid = t =
xmalloc((2*pkgidcnt) + 1);
646 for (i = 0 ; i < pkgidcnt; i++) {
647 *t++ = hex[ ((pkgid[i] >> 4) & 0x0f) ];
648 *t++ = hex[ ((pkgid[i] ) & 0x0f) ];
662 fprintf(stderr,
"%s argvAdd(&q->flink.NEVRA, \"%s\")\n", msg, p->NEVRA);
663 xx =
argvAdd(&q->flink.NEVRA, p->NEVRA);
665 fprintf(stderr,
"%s argvAdd(&p->blink.NEVRA, \"%s\")\n", msg, blinkNEVRA);
666 xx =
argvAdd(&p->blink.NEVRA, blinkNEVRA);
668 fprintf(stderr,
"%s argvAdd(&q->flink.Pkgid, \"%s\")\n", msg, p->pkgid);
669 if (p->pkgid != NULL)
670 xx =
argvAdd(&q->flink.Pkgid, p->pkgid);
672 fprintf(stderr,
"%s argvAdd(&p->blink.Pkgid, \"%s\")\n", msg, blinkPkgid);
673 if (blinkPkgid != NULL)
674 xx =
argvAdd(&p->blink.Pkgid, blinkPkgid);
676 fprintf(stderr,
"%s argvAdd(&q->flink.Hdrid, \"%s\")\n", msg, p->hdrid);
677 if (p->hdrid != NULL)
678 xx =
argvAdd(&q->flink.Hdrid, p->hdrid);
680 fprintf(stderr,
"%s argvAdd(&p->blink.Hdrid, \"%s\")\n", msg, blinkHdrid);
681 if (blinkHdrid != NULL)
682 xx =
argvAdd(&p->blink.Hdrid, blinkHdrid);
685 blinkNEVRA =
_free(blinkNEVRA);
686 blinkPkgid =
_free(blinkPkgid);
688 blinkHdrid =
_free(blinkHdrid);
700 const char * fn,
unsigned int ln)
710 fprintf(stderr,
"*** tsi %p -- %s:%d\n", tsi, fn, ln);
719 tsi =
xcalloc(1,
sizeof(*tsi));
723 tsi->ocsave = tsi->oc;
726 fprintf(stderr,
"*** tsi %p ++ %s:%d\n", tsi, fn, ln);
743 if (tsi == NULL || tsi->ts == NULL ||
rpmtsNElements(tsi->ts) <= 0)
747 if (tsi->oc >= 0) oc = tsi->oc--;
764 if (type == 0 || (te->type & type) != 0)