RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   16-Oct-2007 23:02:03
  Branch: HEAD                             Handle: 2007101622020300

  Modified files:
    rpm/rpmdb               hdrfmt.c header.c header.h rpmdb.c

  Log:
    - jbj: start drilling hRET_t.

  Summary:
    Revision    Changes     Path
    1.13        +10 -9      rpm/rpmdb/hdrfmt.c
    1.84        +8  -8      rpm/rpmdb/header.c
    1.36        +1  -1      rpm/rpmdb/header.h
    1.186       +11 -3      rpm/rpmdb/rpmdb.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/hdrfmt.c
  ============================================================================
  $ cvs diff -u -r1.12 -r1.13 hdrfmt.c
  --- rpm/rpmdb/hdrfmt.c        16 Oct 2007 20:16:16 -0000      1.12
  +++ rpm/rpmdb/hdrfmt.c        16 Oct 2007 21:02:03 -0000      1.13
  @@ -82,7 +82,7 @@
                /[EMAIL PROTECTED]@*/ int element)
        /[EMAIL PROTECTED] maxRead(data) >= 0 @*/
   {
  -    const int_32 * item = (const int_32 *) data;     /* NOCAST */
  +    const int_32 * item = (*data).i32p;
       char * val;
   
       if (type != RPM_INT32_TYPE)
  @@ -206,14 +206,14 @@
       case RPM_OPENPGP_TYPE:
       case RPM_ASN1_TYPE:              /* XXX WRONG */
       case RPM_BIN_TYPE:
  -     s = (const unsigned char *) data;       /* NOCAST */
  +     s = (*data).ui8p;
        /* XXX HACK ALERT: element field abused as no. bytes of binary data. */
        ns = element;
        atype = PGPARMOR_SIGNATURE;     /* XXX check pkt for signature */
        break;
       case RPM_STRING_TYPE:
       case RPM_STRING_ARRAY_TYPE:
  -     enc = (const char *) data;      /* NOCAST */
  +     enc = (*data).str;
        s = NULL;
        ns = 0;
   /[EMAIL PROTECTED]@*/
  @@ -371,7 +371,7 @@
       switch (type) {
       case RPM_I18NSTRING_TYPE:
       case RPM_STRING_TYPE:
  -     s = (const char *) data;        /* NOCAST */
  +     s = (*data).str;
        xtag = "string";
        /* XXX Force utf8 strings. */
        s = xstrdup(s);
  @@ -538,7 +538,7 @@
       case RPM_I18NSTRING_TYPE:
       case RPM_STRING_TYPE:
        xx = 0;
  -     s = (const char *) data;        /* NOCAST */
  +     s = (*data).str;
        if (strchr("[", s[0]))  /* leading [ */
            xx = 1;
        if (xx == 0)
  @@ -571,7 +571,7 @@
        }
   
        /* XXX Force utf8 strings. */
  -     s = xstrdup((const char *)data);        /* NOCAST */
  +     s = xstrdup((*data).str);
        s = xstrtolocale(s);
        freeit = 1;
        break;
  @@ -867,7 +867,8 @@
   static int triggercondsTag(Header h, HE_t he)
        /[EMAIL PROTECTED] he @*/
   {
  -    int_32 * indices, * flags;
  +    hRET_t flags;
  +    int_32 * indices;
       char ** names, ** versions;
       int numNames, numScripts;
       const char ** conds;
  @@ -904,9 +905,9 @@
                /[EMAIL PROTECTED]@*/ continue;
   
            item = xmalloc(strlen(names[j]) + strlen(versions[j]) + 20);
  -         if (flags[j] & RPMSENSE_SENSEMASK) {
  +         if (flags.i32p[j] & RPMSENSE_SENSEMASK) {
                buf[0] = '%', buf[1] = '\0';
  -             flagsStr = depflagsFormat(RPM_INT32_TYPE, (hPTR_t) flags, buf, 
0, j);   /* NOCAST */
  +             flagsStr = depflagsFormat(RPM_INT32_TYPE, &flags, buf, 0, j);
                sprintf(item, "%s %s %s", names[j], flagsStr, versions[j]);
                flagsStr = _free(flagsStr);
            } else
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  ============================================================================
  $ cvs diff -u -r1.83 -r1.84 header.c
  --- rpm/rpmdb/header.c        16 Oct 2007 20:16:16 -0000      1.83
  +++ rpm/rpmdb/header.c        16 Oct 2007 21:02:03 -0000      1.84
  @@ -2099,7 +2099,7 @@
       entry->info.type = type;
       entry->info.count = c;
       entry->info.offset = 0;
  -    entry->data = data;
  +    entry->data = (void *) (*data).ptr;      /* NOCAST */
       entry->length = length;
   
       if (h->indexUsed > 0 && tag < h->index[h->indexUsed-1].info.tag)
  @@ -2374,7 +2374,7 @@
   
       entry->info.count = c;
       entry->info.type = type;
  -    entry->data = data;
  +    entry->data = (void *) (*data).ptr;      /* NOCAST */
       entry->length = length;
   
       if (ENTRY_IN_REGION(entry)) {
  @@ -3212,7 +3212,7 @@
       char buf[20];
       unsigned int intVal;
       uint_64 llVal;
  -    const char ** strarray;
  +    hRET_t strarray;
       rpmTagCount countBuf;
   
       memset(buf, 0, sizeof(buf));
  @@ -3270,19 +3270,19 @@
       if (he_p.ptr)
       switch (he_t) {
       case RPM_STRING_ARRAY_TYPE:
  -     strarray = he_p.argv;
  +     strarray.argv = he_p.argv;
   
        if (tag->fmt)
  -         val = tag->fmt(RPM_STRING_TYPE, (hPTR_t) strarray[element], buf, 
tag->pad, (he_c > 1 ? element : -1));      /* NOCAST */
  +         val = tag->fmt(RPM_STRING_TYPE, (hPTR_t) strarray.argv[element], 
buf, tag->pad, (he_c > 1 ? element : -1)); /* NOCAST */
   
        if (val) {
            need = strlen(val);
        } else {
  -         need = strlen(strarray[element]) + tag->pad + 20;
  +         need = strlen(strarray.argv[element]) + tag->pad + 20;
            val = xmalloc(need+1);
            strcat(buf, "s");
            /[EMAIL PROTECTED]@*/
  -         sprintf(val, buf, strarray[element]);
  +         sprintf(val, buf, strarray.argv[element]);
            /[EMAIL PROTECTED]@*/
        }
   
  @@ -3932,7 +3932,7 @@
        sprintf(result, formatPrefix, *((int_64 *) data));
        /[EMAIL PROTECTED]@*/
       } else {
  -     buf = alloca(strlen((const char *)data) + padding + 2); /* NOCAST */
  +     buf = alloca(strlen((*data).str) + padding + 2);
        strcat(formatPrefix, "s");
        /[EMAIL PROTECTED]@*/
        sprintf(buf, formatPrefix, data);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.h
  ============================================================================
  $ cvs diff -u -r1.35 -r1.36 header.h
  --- rpm/rpmdb/header.h        16 Oct 2007 20:16:16 -0000      1.35
  +++ rpm/rpmdb/header.h        16 Oct 2007 21:02:03 -0000      1.36
  @@ -136,7 +136,7 @@
   
   /** \ingroup header
    */
  -typedef const void * rpmTagData;
  +typedef const hRET_t rpmTagData;
   
   /** \ingroup header
    */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.185 -r1.186 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 16 Oct 2007 20:16:16 -0000      1.185
  +++ rpm/rpmdb/rpmdb.c 16 Oct 2007 21:02:03 -0000      1.186
  @@ -3135,14 +3135,22 @@
   #endif
       if (iid != 0 && iid != -1) {
        int_32 tid = iid;
  -     if (!headerIsEntry(h, RPMTAG_INSTALLTID))
  -        xx = hae(h, RPMTAG_INSTALLTID, RPM_INT32_TYPE, (hPTR_t)&tid, 1);     
/* NOCAST */
  +     he->tag = RPMTAG_INSTALLTID;
  +     he_t = RPM_INT32_TYPE;
  +     he_p.i32p = &tid;
  +     he_c = 1;
  +     if (!headerIsEntry(h, he->tag))
  +        xx = hae(h, he->tag, he_t, he_p, he_c);
       }
   
       /* Add the package color if not present. */
       if (!headerIsEntry(h, RPMTAG_PACKAGECOLOR)) {
        uint32_t hcolor = hGetColor(h);
  -     xx = hae(h, RPMTAG_PACKAGECOLOR, RPM_INT32_TYPE, (hPTR_t) &hcolor, 1);  
/* NOCAST */
  +     he->tag = RPMTAG_PACKAGECOLOR;
  +     he_t = RPM_INT32_TYPE;
  +     he_p.ui32p = &hcolor;
  +     he_c = 1;
  +     xx = hae(h, he->tag, he_t, he_p, he_c);
       }
   
   #if defined(SUPPORT_RPMV3_BASENAMES_HACKS)
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to