Ignore:
Timestamp:
Feb 27, 2009, 5:08:07 AM (16 years ago)
Author:
bird
Message:

kash: malloc/free/friends gets a psh.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kash/memalloc.c

    r1233 r2290  
    5656
    5757pointer
    58 ckmalloc(size_t nbytes)
     58ckmalloc(shinstance *psh, size_t nbytes)
    5959{
    6060        pointer p;
    6161
    62         p = malloc(nbytes);
     62        p = sh_malloc(psh, nbytes);
    6363        if (p == NULL)
    64                 error(NULL, "Out of space");
     64                error(psh, "Out of space");
    6565        return p;
    6666}
     
    7272
    7373pointer
    74 ckrealloc(pointer p, size_t nbytes)
    75 {
    76         p = realloc(p, nbytes);
     74ckrealloc(struct shinstance *psh, pointer p, size_t nbytes)
     75{
     76        p = sh_realloc(psh, p, nbytes);
    7777        if (p == NULL)
    78                 error(NULL, "Out of space");
     78                error(psh, "Out of space");
    7979        return p;
    8080}
     
    8686
    8787char *
    88 savestr(const char *s)
     88savestr(struct shinstance *psh, const char *s)
    8989{
    9090        char *p;
    91 
    92         p = ckmalloc(strlen(s) + 1);
    93         scopy(s, p);
     91    size_t len = strlen(s);
     92
     93        p = ckmalloc(psh, len + 1);
     94        memcpy(p, s, len + 1);
    9495        return p;
    9596}
     
    134135                        blocksize = MINSIZE;
    135136                INTOFF;
    136                 sp = ckmalloc(sizeof(struct stack_block) - MINSIZE + blocksize);
     137                sp = ckmalloc(psh, sizeof(struct stack_block) - MINSIZE + blocksize);
    137138                sp->prev = psh->stackp;
    138139                psh->stacknxt = sp->space;
     
    182183                sp = psh->stackp;
    183184                psh->stackp = sp->prev;
    184                 ckfree(sp);
     185                ckfree(psh, sp);
    185186        }
    186187        psh->stacknxt = mark->stacknxt;
     
    214215                sp = psh->stackp;
    215216                psh->stackp = sp->prev;
    216                 sp = ckrealloc((pointer)sp,
     217                sp = ckrealloc(psh, (pointer)sp,
    217218                    sizeof(struct stack_block) - MINSIZE + newlen);
    218219                sp->prev = psh->stackp;
Note: See TracChangeset for help on using the changeset viewer.