Changeset 2290 for trunk/src/kash/var.c
- Timestamp:
- Feb 27, 2009, 5:08:07 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kash/var.c
r1233 r2290 209 209 struct var **vpp; 210 210 #ifdef PC_OS2_LIBPATHS 211 char *psz = ckmalloc( 2048);211 char *psz = ckmalloc(psh, 2048); 212 212 int rc; 213 213 int i; … … 232 232 int cch1 = strlen(libpath_envs[i]); 233 233 int cch2 = strlen(psz) + 1; 234 psh->libpath_vars[i].text = ckmalloc( cch1 + cch2);234 psh->libpath_vars[i].text = ckmalloc(psh, cch1 + cch2); 235 235 memcpy(psh->libpath_vars[i].text, libpath_envs[i], cch1); 236 236 memcpy(psh->libpath_vars[i].text + cch1, psz, cch2); … … 246 246 *vpp = &psh->libpath_vars[i]; 247 247 } 248 free(psz);248 ckfree(psh, psz); 249 249 #endif 250 250 … … 332 332 len += strlen(val); 333 333 } 334 d = nameeq = ckmalloc( len);334 d = nameeq = ckmalloc(psh, len); 335 335 q = name; 336 336 while (--namelen >= 0) … … 372 372 373 373 if ((vp->flags & (VTEXTFIXED|VSTACK)) == 0) 374 ckfree( vp->text);374 ckfree(psh, vp->text); 375 375 376 376 vp->flags &= ~(VTEXTFIXED|VSTACK|VUNSET); … … 394 394 if (flags & VNOSET) 395 395 return; 396 vp = ckmalloc( sizeof (*vp));396 vp = ckmalloc(psh, sizeof (*vp)); 397 397 vp->flags = flags & ~VNOFUNC; 398 398 vp->text = s; … … 416 416 INTOFF; 417 417 for (lp = list ; lp ; lp = lp->next) { 418 setvareq(psh, savestr( lp->text), flags);418 setvareq(psh, savestr(psh, lp->text), flags); 419 419 } 420 420 INTON; … … 539 539 *prev = vp->next; 540 540 if ((vp->flags & VTEXTFIXED) == 0) 541 ckfree( vp->text);541 ckfree(psh, vp->text); 542 542 if ((vp->flags & VSTRFIXED) == 0) 543 ckfree( vp);543 ckfree(psh, vp); 544 544 } else { 545 545 if (vp->flags & VSTACK) { 546 vp->text = savestr( vp->text);546 vp->text = savestr(psh, vp->text); 547 547 vp->flags &=~ VSTACK; 548 548 } … … 618 618 if (!list) { 619 619 list_len = 32; 620 list = ckmalloc( list_len * sizeof(*list));620 list = ckmalloc(psh, list_len * sizeof(*list)); 621 621 } 622 622 … … 628 628 continue; 629 629 if (count >= list_len) { 630 list = ckrealloc( list,630 list = ckrealloc(psh, list, 631 631 (list_len << 1) * sizeof(*list)); 632 632 list_len <<= 1; … … 723 723 724 724 INTOFF; 725 lvp = ckmalloc( sizeof (struct localvar));725 lvp = ckmalloc(psh, sizeof (struct localvar)); 726 726 if (name[0] == '-' && name[1] == '\0') { 727 727 char *p; 728 p = ckmalloc( sizeof_optlist);728 p = ckmalloc(psh, sizeof_optlist); 729 729 lvp->text = memcpy(p, psh->optlist, sizeof_optlist); 730 730 vp = NULL; … … 733 733 if (vp == NULL) { 734 734 if (strchr(name, '=')) 735 setvareq(psh, savestr( name), VSTRFIXED|flags);735 setvareq(psh, savestr(psh, name), VSTRFIXED|flags); 736 736 else 737 737 setvar(psh, name, NULL, VSTRFIXED|flags); … … 744 744 vp->flags |= VSTRFIXED|VTEXTFIXED; 745 745 if (name[vp->name_len] == '=') 746 setvareq(psh, savestr( name), flags);746 setvareq(psh, savestr(psh, name), flags); 747 747 } 748 748 } … … 770 770 if (vp == NULL) { /* $- saved */ 771 771 memcpy(psh->optlist, lvp->text, sizeof_optlist); 772 ckfree( lvp->text);772 ckfree(psh, lvp->text); 773 773 } else if ((lvp->flags & (VUNSET|VSTRFIXED)) == VUNSET) { 774 774 (void)unsetvar(psh, vp->text, 0); … … 777 777 (*vp->func)(psh, lvp->text + vp->name_len + 1); 778 778 if ((vp->flags & VTEXTFIXED) == 0) 779 ckfree( vp->text);779 ckfree(psh, vp->text); 780 780 vp->flags = lvp->flags; 781 781 vp->text = lvp->text; 782 782 } 783 ckfree( lvp);783 ckfree(psh, lvp); 784 784 } 785 785 } … … 860 860 if ((vp->flags & VSTRFIXED) == 0) { 861 861 if ((vp->flags & VTEXTFIXED) == 0) 862 ckfree( vp->text);862 ckfree(psh, vp->text); 863 863 *vpp = vp->next; 864 ckfree( vp);864 ckfree(psh, vp); 865 865 } 866 866 }
Note:
See TracChangeset
for help on using the changeset viewer.