Changeset 718


Ignore:
Timestamp:
Sep 24, 2003, 1:42:38 AM (22 years ago)
Author:
bird
Message:

Return something in any case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/innidmdll/innidmdll.c

    • Property cvs2svn:cvs-rev changed from 1.3 to 1.4
    r717 r718  
    7676    char *  pszMang;
    7777    char *  pszMangFree;
     78    char *  psz;
     79    int     cch;
    7880
    7981    /*
     
    102104    /*
    103105     * Call the demangler.
     106     * On failure return mangled name.
    104107     */
    105     pszProto = cplus_demangle(pszMang, DMGL_PARAMS | DMGL_ANSI);
    106     if (pszProto)
     108    psz = pszProto = cplus_demangle(pszMang, DMGL_PARAMS | DMGL_ANSI);
     109    if (!psz)
     110        psz = pszMangFree;
     111
     112    /*
     113     * Copy to result buffer.
     114     */
     115    cch = strlen(psz);
     116    if (cch >= cchPrototype)
    107117    {
    108         int cchProto = strlen(pszProto);
    109         if (cchProto >= cchPrototype)
    110         {
    111             memcpy(pszPrototype, pszProto, cchPrototype - 1);
    112             pszPrototype[cchPrototype - 1] = '\0';
    113         }
    114         else
    115         {
    116             memcpy(pszPrototype, pszProto, cchProto + 1);
    117             if (pszWeak && cchProto + 6 < cchPrototype)
    118                 strcpy(pszPrototype + cchProto, " weak");
    119         }
    120         free(pszProto);
     118        memcpy(pszPrototype, psz, cchPrototype - 1);
     119        pszPrototype[cchPrototype - 1] = '\0';
     120    }
     121    else
     122    {
     123        memcpy(pszPrototype, psz, cch + 1);
     124        if (pszWeak && cch + 6 < cchPrototype)
     125            strcpy(pszPrototype + cch, " weak");
    121126    }
    122127
    123128    /*
    124      * Free pszMang
     129     * Cleanup.
    125130     */
     131    free(pszProto);
    126132    free(pszMangFree);
    127133
    128     return pszProto != NULL;
     134    return 1; /* we never fail */
    129135}
    130136
Note: See TracChangeset for help on using the changeset viewer.