Lines Matching refs:wp

696 static void outval(char *name, const char *vname, struct Walk *wp)  in outval()  argument
698 register Namval_t *np, *nq, *last_table=wp->shp->last_table; in outval()
703 if(!(np=nv_open(vname,wp->root,mode|NV_VARNAME|NV_NOADD|NV_NOASSIGN|NV_NOFAIL|wp->noscope))) in outval()
705 wp->shp->last_table = last_table; in outval()
708 if(!wp->out) in outval()
709 wp->shp->last_table = last_table; in outval()
728 if(!wp->out) in outval()
752 nq = nv_putsub(np,NIL(char*),ARRAY_SCAN|(wp->out?ARRAY_NOCHILD:0)); in outval()
754 if(!wp->out) in outval()
757 if(sh.subshell || (wp->flags!=NV_RDONLY) || nv_isattr(np,NV_MINIMAL|NV_NOFREE)) in outval()
758 wp->root = 0; in outval()
759 nv_delete(np,wp->root,nv_isattr(np,NV_MINIMAL)?NV_NOFREE:0); in outval()
764 sfputc(wp->out,'('); in outval()
765 if(wp->indent>=0) in outval()
766 sfputc(wp->out,'\n'); in outval()
771 special |= wp->nofollow; in outval()
772 if(!wp->array && wp->indent>0) in outval()
773 sfnputc(wp->out,'\t',wp->indent); in outval()
779 nv_attribute(np,wp->out,"typeset",'='); in outval()
782 sfprintf(wp->out,"%s",name); in outval()
783 nv_arrfixed(np,wp->out,0,(char*)0); in outval()
784 sfputc(wp->out,';'); in outval()
787 nv_outname(wp->out,name,-1); in outval()
789 sfputc(wp->out,(isarray==2?(wp->indent>=0?'\n':';'):'=')); in outval()
796 nv_outnode(np, wp->out, wp->indent, special); in outval()
801 if(wp->indent>0) in outval()
803 sfnputc(wp->out,'\t',wp->indent); in outval()
804 sfwrite(wp->out,")\n",2); in outval()
807 sfwrite(wp->out,");",2); in outval()
814 static char **genvalue(char **argv, const char *prefix, int n, struct Walk *wp) in genvalue() argument
817 register Sfio_t *outfile = wp->out; in genvalue()
826 if(outfile && !wp->array) in genvalue()
829 if(wp->indent>=0) in genvalue()
831 wp->indent++; in genvalue()
848 if(wp->indent < 0 && argv[1]==0) in genvalue()
849 wp->indent--; in genvalue()
856 np=nv_open(arg,wp->root,NV_VARNAME|NV_NOADD|NV_NOASSIGN|NV_NOFAIL|wp->noscope); in genvalue()
862 if(wp->indent>=0) in genvalue()
863 sfnputc(outfile,'\t',wp->indent); in genvalue()
879 outval(cp,arg,wp); in genvalue()
882 argv = genvalue(argv,cp,n+m+r,wp); in genvalue()
883 if(wp->indent>=0) in genvalue()
889 …else if(outfile && !wp->nofollow && argv[1] && memcmp(arg,argv[1],l=strlen(arg))==0 && argv[1][l]=… in genvalue()
893 Namval_t *np = nv_open(arg,wp->root,NV_VARNAME|NV_NOADD|NV_NOASSIGN|wp->noscope); in genvalue()
896 if((wp->array = nv_isarray(np)) && (ap=nv_arrayptr(np))) in genvalue()
899 if(wp->indent>0) in genvalue()
900 sfnputc(outfile,'\t',wp->indent); in genvalue()
906 wp->array=0; in genvalue()
909 wp->nofollow=1; in genvalue()
910 argv = genvalue(argv,cp,cp-arg ,wp); in genvalue()
911 sfputc(outfile,wp->indent<0?';':'\n'); in genvalue()
918 if(wp->indent>0) in genvalue()
919 sfnputc(outfile,'\t',wp->indent); in genvalue()
925 argv = genvalue(++argv,cp,cp-arg ,wp); in genvalue()
926 sfputc(outfile,wp->indent>0?'\n':';'); in genvalue()
930 outval(cp,arg,wp); in genvalue()
931 if(wp->array) in genvalue()
933 if(wp->indent>=0) in genvalue()
934 wp->indent++; in genvalue()
937 wp->array = 0; in genvalue()
943 wp->nofollow = 0; in genvalue()
945 wp->array = 0; in genvalue()
952 outval(".",prefix-n,wp); in genvalue()
955 if(wp->indent>0) in genvalue()
956 sfnputc(outfile,'\t',--wp->indent); in genvalue()