Lines Matching refs:np

183 					Namval_t *np = nv_search((char*)PATHNOD,tdata.sh->var_tree,HASH_BUCKET);  in b_alias()  local
184 nv_putval(np,nv_getval(np),NV_RDONLY); in b_alias()
461 static void print_value(Sfio_t *iop, Namval_t *np, struct tdata *tp) in print_value() argument
465 if(nv_isnull(np)) in print_value()
467 if(!np->nvflag) in print_value()
471 else if(nv_istable(np)) in print_value()
478 cp = name = nv_name(np); in print_value()
490 tp->sh->prefix = nv_name(np)+1; in print_value()
493 tp->sh->namespace = np; in print_value()
496 print_scan(iop,NV_NOSCOPE,nv_dict(np),aflag=='+',tp); in print_value()
508 sfputr(iop,nv_name(np),aflag=='+'?'\n':'='); in print_value()
511 if(nv_isarray(np) && nv_arrayptr(np)) in print_value()
513 nv_outnode(np,iop,-1,0); in print_value()
518 if(nv_isvtree(np)) in print_value()
519 nv_onattr(np,NV_EXPORT); in print_value()
520 if(!(name = nv_getval(np))) in print_value()
522 if(!nv_isvtree(np)) in print_value()
559 register Namval_t *np; in setall() local
573 if((np=nv_search(name,shp->bltin_tree,0)) && nv_isattr(np,BLT_SPC)) in setall()
577 np = sh_fsearch(shp,name,NV_ADD|HASH_NOSCOPE); in setall()
580 np = nv_open(name,sh_subfuntree(1),NV_NOARRAY|NV_IDENT|NV_NOSCOPE); in setall()
590 np = 0; in setall()
592 np = sh_fsearch(shp,name,HASH_NOSCOPE); in setall()
593 if(!np) in setall()
595 if(np=nv_search(name,troot,0)) in setall()
597 if(!is_afunction(np)) in setall()
598 np = 0; in setall()
603 if(np && ((flag&NV_LTOU) || !nv_isnull(np) || nv_isattr(np,NV_LTOU))) in setall()
607 print_namval(sfstdout,np,tp->aflag=='+',tp); in setall()
613 nv_onattr(np,flag|NV_FUNCTION); in setall()
615 nv_offattr(np,flag); in setall()
622 if(!np) in setall()
626 np = nv_search(stkptr(shp->stk,offset),troot,0); in setall()
629 if(np && np->nvalue.cp) in setall()
630 np->nvalue.rp->help = tp->help; in setall()
637 np = nv_search(name,troot,NV_ADD); in setall()
638 path_alias(np,path_absolute(shp,nv_name(np),NIL(Pathcomp_t*))); in setall()
641np = nv_open(name,troot,nvflags|((nvflags&NV_ASSIGN)?0:NV_ARRAY)|((iarray|(nvflags&(NV_REF|NV_NOAD… in setall()
642 if(!np) in setall()
644 if(nv_isnull(np) && !nv_isarray(np) && nv_isattr(np,NV_NOFREE)) in setall()
645 nv_offattr(np,NV_NOFREE); in setall()
646 …else if(tp->tp && !nv_isattr(np,NV_MINIMAL|NV_EXPORT) && (mp=(Namval_t*)np->nvenv) && (ap=nv_array… in setall()
647 errormsg(SH_DICT,ERROR_exit(1),e_typecompat,nv_name(np)); in setall()
648 else if((ap=nv_arrayptr(np)) && nv_aindex(np)>0 && ap->nelem==1 && nv_getval(np)==Empty) in setall()
651 _nv_unset(np,0); in setall()
655 errormsg(SH_DICT,ERROR_exit(1),"cannot change associative array %s to index array",nv_name(np)); in setall()
656 else if( (iarray||(flag&NV_ARRAY)) && nv_isvtree(np) && !nv_type(np)) in setall()
657 _nv_unset(np,NV_EXPORT); in setall()
660 if(!nv_istable(np)) in setall()
661 nv_attribute(np,sfstdout,tp->prefix,1); in setall()
662 print_value(sfstdout,np,tp); in setall()
667 if(troot!=shp->var_tree && (nv_isnull(np) || !print_namval(sfstdout,np,0,tp))) in setall()
675 if(!nv_isarray(np) && !strchr(name,'=') && !(shp->envlist && nv_onlist(shp->envlist,name))) in setall()
677 …fun && (nvflags&NV_STATIC)) || (!(flag&(NV_EXPORT|NV_RDONLY)) && nv_isattr(np,(NV_EXPORT|NV_IMPORT… in setall()
679 _nv_unset(np,0); in setall()
687 nv_atypeindex(np,tp->tname+1); in setall()
688 else if(nv_isnull(np)) in setall()
689 nv_onattr(np,NV_ARRAY|(comvar?NV_NOFREE:0)); in setall()
694 nv_putsub(np, (char*)0, 0); in setall()
701 Namarr_t *ap=nv_arrayptr(np); in setall()
706 _nv_unset(np,NV_RDONLY); in setall()
707 nv_onattr(np,NV_NOFREE); in setall()
710 nv_setarray(np,nv_associative); in setall()
712 else if(comvar && !nv_isvtree(np) && !nv_rename(np,flag|NV_COMVAR)) in setall()
713 nv_setvtree(np); in setall()
717 nv_rename(np, flag); in setall()
718 nv_close(np); in setall()
721 if(tp->tp && nv_type(np)!=tp->tp) in setall()
723 nv_settype(np,tp->tp,tp->aflag=='-'?0:NV_APPEND); in setall()
724 flag = (np->nvflag&NV_NOCHANGE); in setall()
731 curflag = np->nvflag; in setall()
737 errormsg(SH_DICT,ERROR_exit(1),e_mapchararg,nv_name(np)); in setall()
738 cp = (char*)nv_mapchar(np,0); in setall()
739 if(fp=nv_mapchar(np,tp->wctname)) in setall()
745 nv_disc(np,fp,NV_POP); in setall()
748 nv_offattr(np,flag&(NV_LTOU|NV_UTOL)); in setall()
753 nv_disc(np,fp,NV_LAST); in setall()
754 nv_onattr(np,flag&(NV_LTOU|NV_UTOL)); in setall()
760 if((flag&NV_EXPORT) && (strchr(name,'.') || nv_isvtree(np))) in setall()
764 nv_offattr(np,NV_IMPORT); in setall()
782 errormsg(SH_DICT,ERROR_exit(1),e_readonly,nv_name(np)); in setall()
788 sh_assignok(np,1); in setall()
790 nv_setattr(np,newflag&~NV_ASSIGN); in setall()
795 if(tp->argnum==1 && newflag==NV_INTEGER && nv_isattr(np,NV_INTEGER)) in setall()
797 if(np->nvfun && !nv_isarray(np) && name[len-1]=='.') in setall()
799 nv_newattr (np, newflag&~NV_ASSIGN,tp->argnum); in setall()
801 np->nvname = oldname; in setall()
804 if(tp->help && !nv_isattr(np,NV_MINIMAL|NV_EXPORT)) in setall()
806 np->nvenv = tp->help; in setall()
807 nv_onattr(np,NV_EXPORT); in setall()
817 if(nv_isattr(np,NV_PARAM) && shp->st.prevst) in setall()
823 nv_onattr(np,NV_REF|NV_FUNCT); in setall()
825 nv_setref(np,hp,NV_VARNAME); in setall()
828 nv_unref(np); in setall()
830 nv_close(np); in setall()
970 register Namval_t *np; in b_builtin() local
1079 if(np = sh_addbuiltin(arg, addr,pointerof(dlete))) in b_builtin()
1081 if(dlete || nv_isattr(np,BLT_SPC)) in b_builtin()
1085 nv_onattr(np,liblist[n].attr); in b_builtin()
1091 if(!addr && (np = nv_search(arg,context->shp->bltin_tree,0))) in b_builtin()
1093 if(nv_isattr(np,BLT_SPC)) in b_builtin()
1095 addr = (Shbltin_f)np->nvalue.bfp; in b_builtin()
1097 if(!dlete && !addr && !(np=sh_addbuiltin(arg,(Shbltin_f)0 ,0))) in b_builtin()
1157 register Namval_t *np; in unall() local
1212 np = 0; in unall()
1217 np = sh_fsearch(shp,name,nflag?HASH_NOSCOPE:0); in unall()
1218 if(!np) in unall()
1220 np=nv_open(name,troot,NV_NOADD|nflag); in unall()
1227 if(np) in unall()
1229 if(is_abuiltin(np) || nv_isattr(np,NV_RDONLY)) in unall()
1231 if(nv_isattr(np,NV_RDONLY)) in unall()
1232 errormsg(SH_DICT,ERROR_warn(0),e_readonly, nv_name(np)); in unall()
1236 isfun = is_afunction(np); in unall()
1241 if((ap=nv_arrayptr(np)) && !ap->fixed && name[strlen(name)-1]==']' && !nv_getsub(np)) in unall()
1243 if(nv_isarray(np) && name[strlen(name)-1]==']' && !nv_getsub(np)) in unall()
1251 np=sh_assignok(np,0); in unall()
1253 if(!nv_isnull(np) || nv_size(np) || nv_isattr(np,~(NV_MINIMAL|NV_NOFREE))) in unall()
1254 _nv_unset(np,0); in unall()
1256 nv_delete(np,dp,NV_NOFREE); in unall()
1257 else if(isfun && !(np->nvalue.rp && np->nvalue.rp->running)) in unall()
1258 nv_delete(np,troot,0); in unall()
1261 …else if(shp->var_tree==troot && shp->var_tree!=shp->var_base && nv_search((char*)np,shp->var_tree,… in unall()
1262 nv_delete(np,shp->var_tree,0); in unall()
1265 nv_close(np); in unall()
1279 static int print_namval(Sfio_t *file,register Namval_t *np,register int flag, struct tdata *tp) in print_namval() argument
1286 if(tp->noref && nv_isref(np)) in print_namval()
1288 if(nv_isattr(np,NV_NOPRINT|NV_INTEGER)==NV_NOPRINT) in print_namval()
1290 if(is_abuiltin(np) && strcmp(np->nvname,".sh.tilde")) in print_namval()
1291 sfputr(file,nv_name(np),'\n'); in print_namval()
1294 if(nv_istable(np)) in print_namval()
1296 print_value(file,np,tp); in print_namval()
1299 isfun = is_afunction(np); in print_namval()
1302 …outname = (*tp->prefix=='t' && (!nv_isnull(np) || nv_isattr(np,NV_FLOAT|NV_RDONLY|NV_BINARY|NV_RJ… in print_namval()
1311 nv_attribute(np,tp->outfile,tp->prefix,tp->aflag); in print_namval()
1320 if(nv_isattr(np,NV_NOFREE)) in print_namval()
1322 if(!flag && !np->nvalue.ip) in print_namval()
1324 else if(!flag && !nv_isattr(np,NV_FPOSIX)) in print_namval()
1326 cp = nv_name(np); in print_namval()
1330 if(nv_isattr(np,NV_FPOSIX)) in print_namval()
1332 if(np->nvalue.ip && np->nvalue.rp->hoffset>=0) in print_namval()
1333 fname = np->nvalue.rp->fname; in print_namval()
1338 if(tp->pflag && np->nvalue.ip && np->nvalue.rp->hoffset>=0) in print_namval()
1339 sfprintf(file," #line %d %s\n",np->nvalue.rp->lineno,fname?sh_fmtq(fname):""); in print_namval()
1345 if(nv_isattr(np,NV_FTMP)) in print_namval()
1354 if(iop && sfseek(iop,(Sfoff_t)np->nvalue.rp->hoffset,SEEK_SET)>=0) in print_namval()
1355 sfmove(iop,file, nv_size(np), -1); in print_namval()
1361 return(nv_size(np)+1); in print_namval()
1363 if(nv_arrayptr(np)) in print_namval()
1367 print_value(file,np,tp); in print_namval()
1370 if(nv_isvtree(np)) in print_namval()
1371 nv_onattr(np,NV_EXPORT); in print_namval()
1372 if(cp=nv_getval(np)) in print_namval()
1376 sfputr(file,nv_name(np),-1); in print_namval()
1382 if(nv_isref(np) && nv_refsub(np)) in print_namval()
1385 sfprintf(file,"[%s]\n", sh_fmtq(nv_refsub(np))); in print_namval()
1389 sfputr(file,nv_isvtree(np)?cp:sh_fmtq(cp),'\n'); in print_namval()
1397 sfputr(file,nv_name(np),'\n'); in print_namval()
1413 static void print_attribute(register Namval_t *np,void *data) in print_attribute() argument
1416 nv_attribute(np,dp->outfile,dp->prefix,dp->aflag); in print_attribute()
1427 register Namval_t *np; in print_scan() local
1457 …if((np=nv_search(*argv++,root,0)) && np!=onp && (!nv_isnull(np) || np->nvfun || nv_isattr(np,~NV_N… in print_scan()
1459 onp = np; in print_scan()
1462 char *newname = nv_name(np); in print_scan()
1469 if(nv_aindex(np)>=0) in print_scan()
1480 print_namval(file,np,option,tp); in print_scan()
1481 if(!is_abuiltin(np) && nv_isvtree(np)) in print_scan()
1483 name = nv_name(np); in print_scan()
1494 static void pushname(Namval_t *np,void *data) in pushname() argument
1497 *tp->argnam++ = nv_name(np); in pushname()