Lines Matching refs:cp

165 	const char *cp=name, *sp;
167 while(sp= strchr(cp,'['))
169 if(len>0 && cp+len <= sp)
171 sfwrite(out,cp,++sp-cp);
191 cp = sp-1;
193 if(*cp)
196 sfwrite(out,cp,len);
198 sfputr(out,cp,-1);
268 char *cp;
273 cp = ((struct fornod*)arg->argchn.ap)->fornam;
275 cp = arg->argval;
276 if(memcmp(cp,name,len)==0 && (cp[len]==0 || cp[len]=='='))
289 register char *cp;
325 cp = sh_mactrim(shp,arg->argval,(flags&NV_NOREF)?-3:-1);
339 cp = sh_mactrim(shp,fp->fornam,-1);
341 cp = fp->fornam;
347 if(prefix && tp->com.comset && *cp=='[')
357 stakputs(cp);
358 cp = stakfreeze(1);
363 np = nv_open(cp,shp->var_tree,flag|NV_ASSIGN);
426 while(cp= *argv++)
427 sfputr(sfstderr,sh_fmtq(cp),' ');
444 cp = stakcopy(nv_name(np));
445 shp->prefix = cp;
464 if(*cp!='.' && *cp!='[' && strchr(cp,'['))
467 np = nv_open(cp,shp->var_tree,flag);
478 if(!nv_isnull(np) && np->nvalue.cp!=Empty && !nv_isvtree(np))
481 else if(np->nvalue.cp && np->nvalue.cp!=Empty && !nv_type(np))
496 sfprintf(stkstd,"%s[%d]",prefix?nv_name(np):cp,sub);
503 shp->prefix = cp;
552 cp = arg->argval;
555 np = nv_open(cp,shp->var_tree,flags);
565 register char *sp=cp;
571 if(cp=lastdot(sp,'='))
573 if(cp[-1]=='+')
575 cp++;
583 if(cp)
587 sfprintf(sfstderr,"=%s\n",sh_fmtq(cp));
593 av[0] = cp;
668 * grow this stack string <name> by <n> bytes and move from cp-1 to end
671 static char *stack_extend(const char *cname, char *cp, int n)
675 int m = cp-name;
678 cp = name + m;
679 m = strlen(cp)+1;
681 cp[n+m]=cp[m];
688 char *cp=(char*)name, *sp, *xp;
703 if(*cp=='.')
704 cp++;
707 switch(c = *(unsigned char*)(sp = cp))
712 dp->last = cp;
715 cp = nv_endsubscript((Namval_t*)0,sp,0);
717 c = *(sp = cp);
727 copy = cp-name;
730 cp = (char*)name+copy;
740 dp->last = cp;
760 if((flags&NV_NOSCOPE) && *cp!='.')
808 else if(add && nv_isnull(np) && c=='.' && cp[1]!='.')
822 else if((flags&NV_NOREF) && (c!='[' && *cp!='.'))
828 while(nv_isref(np) && np->nvalue.cp)
848 c = (cp-sp);
849 copy = strlen(cp=nv_name(np));
851 name = copystack(cp,sp,sub);
853 cp = sp+c;
864 if(*cp && cp[1]=='.')
865 cp++;
866 if(c=='.' && (cp[1]==0 || cp[1]=='=' || cp[1]=='+'))
871 if(cp[-1]=='.')
872 cp--;
877 if(!nq && *sp=='[' && *cp==0 && cp[-1]==']')
884 cp[-1] = 0;
886 cp[-1] = ']';
905 dp->last = cp;
912 cp = nv_endsubscript(np,sp,n|(flags&NV_ASSIGN));
919 cp = sp;
920 if((c = *cp)=='.' || (c=='[' && nv_isarray(np)) || (n&ARRAY_FILL) || (flags&NV_ARRAY))
923 int m = cp-sp;
934 copy = cp-name;
937 cp = (char*)name+copy;
938 sp = cp-m;
948 cp=strcpy(sp+n,cp);
954 name = stack_extend(name, cp-1, r);
959 cp = sp+n;
968 cp[-1] = 0;
970 cp[-1] = ']';
974 sp = cp;
976 dp->last = cp;
979 sp = cp;
1008 else if(memcmp(cp,"[0]",3))
1013 dp->last = cp += 3;
1014 c = *cp;
1033 if((nq = (*fp->disc->createf)(np,cp+1,flags,fp)) == np)
1041 if((c = *(sp=cp=dp->last=fp->last))==0)
1052 if(c!='.' || cp[1]=='.')
1054 cp++;
1057 dp->last = cp;
1058 if((c = mbchar(cp)) && !isaletter(c))
1060 while(xp=cp, c=mbchar(cp), isaname(c));
1061 cp = xp;
1118 register char *cp=(char*)name;
1143 name = cp = copystack(np?nv_name(np):0,name,(const char*)0);
1144 fname = strrchr(cp,'.');
1170 name = cp = copystack(shp->prefix,name,(const char*)0);
1173 c = *(unsigned char*)cp;
1177 while((c= *(unsigned char*)cp++) && (c!='=') && (c!='/') &&
1181 if(c= *--cp)
1182 *cp = 0;
1185 *cp = c;
1192 c = *++cp;
1209 cp = (char*)name+xp->len;
1220 cp = fun.last;
1222 if(np && nvcache.ok && cp[-1]!=']')
1225 if(*cp)
1227 char *sp = strchr(name,*cp);
1264 if(*cp=='.' && cp[1]=='.')
1267 cp+=2;
1269 if(*cp=='+' && cp[1]=='=')
1272 cp++;
1275 c = *cp;
1283 cp++;
1286 nv_putval(np, cp, NV_RDONLY);
1314 nv_putval(np, cp, c);
1361 register char *cp;
1391 if(np->nvalue.cp && np->nvalue.cp!=sp && !nv_isattr(np,NV_NOFREE))
1392 free((void*)np->nvalue.cp);
1393 np->nvalue.cp = (char*)sp;
1408 if(up && up->cp==Empty)
1409 up->cp = 0;
1625 if(!up->cp)
1630 stakputs(up->cp);
1638 tofree = up->cp;
1658 up->cp = sp;
1666 cp = (char*)malloc(size+1);
1669 memcpy((void*)cp,(void*)up->cp,oldsize);
1670 up->cp = cp;
1673 dot = base64decode(sp,dot, (void**)0, cp+oldsize, size-oldsize,(void**)0);
1678 memset((void*)&cp[dot],0,size-dot);
1689 if(size==0 || tofree || !(cp=(char*)up->cp))
1691 cp = (char*)malloc(((unsigned)dot+1));
1692 cp[dot] = 0;
1698 cp = 0;
1699 up->cp = cp;
1702 int c = cp[dot];
1703 memcpy(cp,sp,dot);
1704 cp[dot]=0;
1706 ltou(cp);
1708 utol(cp);
1709 cp[dot] = c;
1711 rightjust(cp,size,'0');
1713 rightjust(cp,size,' ');
1717 dp = strlen (cp) + cp;
1718 cp = cp+size;
1719 for (; dp < cp; *dp++ = ' ');
1750 register char *cp,*sp;
1754 for(cp=str+n;n && *--cp == ' ';n--);
1760 for (sp = str, cp = str+n-size; sp <= str+size; *sp++ = *cp++);
1773 *sp = *cp--;
1793 register char *cp = str;
1796 register char *oldcp=cp;
1799 while(*cp)
1802 w = mbchar(cp);
1805 c = cp-oldcp;
1807 oldcp = cp;
1823 savechars[size] = cp[size];
1824 cp[size] = ' ';
1826 savep = cp;
1837 register char *cp = savechars;
1838 while(*cp)
1839 *savep++ = *cp++;
1956 register char *cp;
1972 cp = data.attval = strcopy(*data.argnam,e_envmarker);
1975 if(cp!=data.attval)
2004 if(!np->nvalue.cp && !np->nvfun && !nv_isattr(np,~NV_DEFAULT))
2079 char *cp=0;
2088 if(cp = nv_getval(np))
2089 cp = strdup(cp);
2097 np->nvalue.cp = 0;
2099 if(!cp)
2106 if(cp)
2108 nv_putval(np,cp,0);
2109 free((void*)cp);
2130 np->nvalue.cp = 0;
2196 register char *name=nv_name(np),*cp= strrchr(name,'.');
2197 if(cp)
2200 *cp = 0;
2202 *cp++ = '.';
2204 nv_setdisc(npv,cp,NIL(Namval_t*),(Namfun_t*)npv);
2252 np->nvalue.cp = nv_isarray(np)?Empty:0;
2255 if(nv_isarray(np) && np->nvalue.cp!=Empty && np->nvfun)
2259 if(up && up->cp)
2261 if(up->cp!=Empty && !nv_isattr(np, NV_NOFREE))
2262 free((void*)up->cp);
2263 up->cp = 0;
2458 if(!np->nvalue.cp)
2476 if(!up->cp)
2549 if(up->cp && nv_isattr(np,NV_BINARY) && !nv_isattr(np,NV_RAW))
2551 char *cp;
2554 base64encode(up->cp, size, (void**)0, cp=getbuf(insize), insize, (void**)&ep);
2556 return(cp);
2559 if((numeric=nv_size(np)) && up->cp && up->cp[numeric])
2561 char *cp = getbuf(numeric+1);
2562 memcpy(cp,up->cp,numeric);
2563 cp[numeric]=0;
2564 return(cp);
2566 return ((char*)up->cp);
2599 if(!up->lp || up->cp==Empty)
2656 register char *cp = 0;
2705 cp = (char*)malloc((n=strlen (sp)) + 1);
2706 strcpy(cp, sp);
2714 mp->nvalue.cp = Empty;
2730 if (cp)
2732 nv_putval (np, cp, NV_RDONLY);
2733 free(cp);
2748 register const char *cp, *sp;
2754 while(cp = *av++)
2756 if(cp[0]!=c0 || cp[1]!=c1)
2759 while(*sp && *sp++ == *++cp);
2760 if(*sp==0 && *++cp=='=')
2761 return((char*)(cp+1));
2866 * normalize <cp> and return pointer to subscript if any
2869 static char *lastdot(register char *cp, int eq)
2874 cp++;
2875 while(c= *cp++)
2879 if(*cp==']')
2880 cp++;
2882 cp = nv_endsubscript((Namval_t*)0,ep=cp,0);
2886 if(*cp=='[')
2888 cp = nv_endsubscript((Namval_t*)0,ep=cp,0);
2889 if((ep=sh_checkid(ep+1,cp)) < cp)
2890 cp=strcpy(ep,cp);
2895 return(cp-1);
2904 register char *cp;
2915 if(!(cp=nv_getval(np)))
2921 if(lastdot(cp,0) && nv_isattr(np,NV_MINIMAL))
2928 if(!(nr = nv_open(cp, hp, flags|NV_ARRAY|NV_NOREF|NV_NOSCOPE|NV_NOADD|NV_NOFAIL)))
2933 nr= nv_open(cp, hp, flags|NV_NOREF|((flags&NV_MOVE)?0:NV_NOFAIL));
2957 if(cp = nv_getval(np))
2958 cp = strdup(cp);
2966 nv_putval(np,cp,0);
2967 free((void*)cp);
2987 register char *ep,*cp;
2994 if(!(cp=nv_getval(np)))
3000 if((ep = lastdot(cp,0)) && nv_isattr(np,NV_MINIMAL))
3004 if(!(nr = nq = nv_open(cp, hp, flags|NV_NOSCOPE|NV_NOADD|NV_NOFAIL)))
3012 nr= nq = nv_open(cp, hp, flags);
3098 SH_PATHNAMENOD->nvalue.cp = sh.st.filename;
3099 SH_FUNNAMENOD->nvalue.cp = sh.st.funname;
3130 np->nvalue.cp = strdup(nv_name(nq));
3191 char *cp;
3224 cp = nv_name(table);
3225 sfprintf(sh.strbuf,"%s.%s",cp,np->nvname);