Lines Matching refs:sub
345 int sub=0;
504 if((sub=nv_aimax(np)) < 0 && nv_arrayptr(np))
506 if(sub>=0)
507 sub++;
510 sub=1;
523 if(sub>0)
525 sfprintf(stkstd,"%s[%d]",prefix?nv_name(np):cp,sub);
527 nv_putsub(np,(char*)0,ARRAY_ADD|ARRAY_FILL|sub);
596 char *sub=0;
599 sub = savesub;
610 if(sub)
611 sfprintf(sfstderr,"[%s]",sh_fmtq(sub));
624 sh_debug(shp,trap,name,sub,av,append);
651 static void stak_subscript(const char *sub, int last)
655 while(c= *sub++)
667 static char *copystack(const char *prefix, register const char *name, const char *sub)
688 if(sub)
689 stak_subscript(sub,']');
871 char *sub=0;
888 sub = nv_refsub(np);
903 if(sub && c!='.')
904 nv_putsub(np,sub,0L);
911 if(sub && c==0 && !(flags&NV_ARRAY))
931 name = copystack(cp,sp,sub);
983 char *sub=0;
1028 sub = m?nv_getsub(np):0;
1029 if(!sub)
1033 sub = "0";
1035 n = strlen(sub)+2;
1048 memcpy(sp+1,sub,n-2);
1065 memcpy(sp+1,sub,n-2);
1095 if(!sub && (flags&NV_NOADD))
1100 nv_putsub(np,sub,ARRAY_FILL);
1105 if(ap && ap->table && (nq=nv_search(sub,ap->table,n)))
1208 if(rp->sub)
1209 free(rp->sub);
1210 rp->sub = 0;
1424 char *sub=0, *prefix= shp->prefix;
1443 sub = nv_getsub(np);
1464 savesub = sub;
2430 if(np->nvalue.nrp->sub)
2431 free(np->nvalue.nrp->sub);
2844 char *prefix = shp->prefix,*sub;
2904 sub = nv_getsub(mp);
3303 np->nvalue.nrp->sub = strdup(ep);
3391 if(np->nvalue.nrp->sub)
3392 free(np->nvalue.nrp->sub);