Changeset 35 for trunk/src/kmk/var.c


Ignore:
Timestamp:
Mar 18, 2003, 4:58:49 AM (22 years ago)
Author:
bird
Message:

emx is kind of working again...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/var.c

    r30 r35  
    412412{
    413413    Var *v = (Var *) vp;
    414     free(v->name);
     414    efree(v->name);
    415415    Buf_Destroy(v->val, TRUE);
    416     free((Address) v);
     416    efree((Address) v);
    417417}
    418418
     
    505505    if (ctxt == VAR_CMD) {
    506506        #ifdef USE_KLIB
    507         kEnvSet(name, val);
     507        kEnvSet(name, val, TRUE);
    508508        #else
    509509        setenv(name, val, 1);
     
    593593        return(FALSE);
    594594    } else if (v->flags & VAR_FROM_ENV) {
    595         free(v->name);
     595        efree(v->name);
    596596        Buf_Destroy(v->val, TRUE);
    597         free((char *)v);
     597        efree((char *)v);
    598598    }
    599599    return(TRUE);
     
    626626        if (v->flags & VAR_FROM_ENV) {
    627627            Buf_Destroy(v->val, FALSE);
    628             free((Address) v);
     628            efree((Address) v);
    629629            *frp = p;
    630630        }
     
    11681168    regerror(err, pat, errbuf, errlen);
    11691169    Error("%s: %s", str, errbuf);
    1170     free(errbuf);
     1170    efree(errbuf);
    11711171}
    11721172
     
    14221422                    Buf_AddBytes(buf, strlen(cp2), (Byte *) cp2);
    14231423                    if (freeIt)
    1424                         free(cp2);
     1424                        efree(cp2);
    14251425                    cp += len - 1;
    14261426                } else {
     
    15351535    Boolean         err;        /* TRUE if undefined variables are an error */
    15361536    int             *lengthPtr; /* OUT: The length of the specification */
    1537     Boolean         *freePtr;   /* OUT: TRUE if caller should free result */
     1537    Boolean         *freePtr;   /* OUT: TRUE if caller should efree result */
    15381538{
    15391539    register char   *tstr;      /* Pointer into str */
     
    16301630                                Buf_AddBytes(buf, strlen(rval), (Byte *) rval);
    16311631                                if (rfree)
    1632                                         free(rval);
     1632                                        efree(rval);
    16331633                        }
    16341634                        tstr += rlen - 1;
     
    17081708                        /*
    17091709                         * Resulting string is dynamically allocated, so
    1710                          * tell caller to free it.
     1710                         * tell caller to efree it.
    17111711                         */
    17121712                        *freePtr = TRUE;
     
    19361936                    }
    19371937                    if (copy) {
    1938                         free(pattern);
     1938                        efree(pattern);
    19391939                    }
    19401940                    break;
     
    19901990                                Buf_AddBytes(buf, strlen(cp2), (Byte *)cp2);
    19911991                                if (freeIt) {
    1992                                     free(cp2);
     1992                                    efree(cp2);
    19931993                                }
    19941994                                cp += len - 1;
     
    20142014                        *lengthPtr = cp - start + 1;
    20152015                        if (*freePtr) {
    2016                             free(str);
     2016                            efree(str);
    20172017                        }
    20182018                        Buf_Destroy(buf, TRUE);
     
    20612061                            cp += len - 1;
    20622062                            if (freeIt) {
    2063                                 free(cp2);
     2063                                efree(cp2);
    20642064                            }
    20652065                        } else if (*cp == '&') {
     
    20792079                        *lengthPtr = cp - start + 1;
    20802080                        if (*freePtr) {
    2081                             free(str);
     2081                            efree(str);
    20822082                        }
    20832083                        Buf_Destroy(buf, TRUE);
     
    21082108                     * Free the two strings.
    21092109                     */
    2110                     free(pattern.lhs);
    2111                     free(pattern.rhs);
     2110                    efree(pattern.lhs);
     2111                    efree(pattern.rhs);
    21122112                    break;
    21132113                }
     
    21292129                        *lengthPtr = cp - start + 1;
    21302130                        if (*freePtr)
    2131                             free(str);
     2131                            efree(str);
    21322132                        if (delim != '\0')
    21332133                            Error("Unclosed substitution for %s (%c missing)",
     
    21382138                    if ((pattern.replace = VarGetPattern(ctxt, err, &cp,
    21392139                        delim, NULL, NULL, NULL)) == NULL){
    2140                         free(re);
     2140                        efree(re);
    21412141
    21422142                        /* was: goto cleanup */
    21432143                        *lengthPtr = cp - start + 1;
    21442144                        if (*freePtr)
    2145                             free(str);
     2145                            efree(str);
    21462146                        if (delim != '\0')
    21472147                            Error("Unclosed substitution for %s (%c missing)",
     
    21652165
    21662166                    error = regcomp(&pattern.re, re, REG_EXTENDED);
    2167                     free(re);
     2167                    efree(re);
    21682168                    if (error)  {
    21692169                        *lengthPtr = cp - start + 1;
    21702170                        VarREError(error, &pattern.re, "RE substitution error");
    2171                         free(pattern.replace);
     2171                        efree(pattern.replace);
    21722172                        return (var_Error);
    21732173                    }
     
    21832183                                       (ClientData) &pattern);
    21842184                    regfree(&pattern.re);
    2185                     free(pattern.replace);
    2186                     free(pattern.matches);
     2185                    efree(pattern.replace);
     2186                    efree(pattern.matches);
    21872187                    break;
    21882188                }
     
    23272327
    23282328            if (*freePtr) {
    2329                 free (str);
     2329                efree (str);
    23302330            }
    23312331            str = newStr;
     
    23572357        } else {
    23582358            /*
    2359              * Returning the value unmodified, so tell the caller to free
     2359             * Returning the value unmodified, so tell the caller to efree
    23602360             * the thing.
    23612361             */
     
    23632363        }
    23642364        Buf_Destroy(v->val, destroy);
    2365         free((Address)v);
     2365        efree((Address)v);
    23662366    } else if (v->flags & VAR_JUNK) {
    23672367        /*
    2368          * Perform any free'ing needed and set *freePtr to FALSE so the caller
    2369          * doesn't try to free a static pointer.
     2368         * Perform any efree'ing needed and set *freePtr to FALSE so the caller
     2369         * doesn't try to efree a static pointer.
    23702370         */
    23712371        if (*freePtr) {
    2372             free(str);
     2372            efree(str);
    23732373        }
    23742374        *freePtr = FALSE;
    23752375        Buf_Destroy(v->val, TRUE);
    2376         free((Address)v);
     2376        efree((Address)v);
    23772377        if (dynamic) {
    23782378            str = emalloc(*lengthPtr + 1);
     
    25412541                Buf_AddBytes (buf, strlen (val), (Byte *)val);
    25422542                if (doFree) {
    2543                     free ((Address)val);
     2543                    efree ((Address)val);
    25442544                }
    25452545            }
Note: See TracChangeset for help on using the changeset viewer.