Lines Matching refs:fun

92 		(*ap->fun)(np, NIL(char*), NV_AFREE);
107 if(!ap->header.fun && aq)
166 mp = (Namval_t*)((*arp->fun)(np,NIL(char*),NV_ACURRENT));
173 return((union Value*)((*arp->fun)(np,NIL(char*),0)));
231 (*ap->header.fun)(np,"0",flag==ARRAY_ASSIGN?NV_AADD:0);
238 mp = (Namval_t*)((*arp->fun)(np,NIL(char*),NV_ACURRENT));
400 if(ap->fun)
401 (*ap->fun)(np,(char*)np,0);
530 (*ap->fun)(np,NIL(char*),NV_ADELETE);
548 (*ap->fun)(np, NIL(char*), NV_AFREE);
668 ap->header.fun = 0;
751 static Namarr_t *nv_changearray(Namval_t *np, void *(*fun)(Namval_t*,const char*,int))
761 if(!fun || !(ap = nv_arrayptr(np)) || is_associative(ap))
766 ap = (Namarr_t*)((*fun)(np, NIL(char*), NV_AINIT));
768 ap->fun = fun;
783 up = (union Value*)((*ap->fun)(np,NIL(char*),0));
794 * set the associative array processing method for node <np> to <fun>
797 Namarr_t *nv_setarray(Namval_t *np, void *(*fun)(Namval_t*,const char*,int))
803 if(fun && (ap = nv_arrayptr(np)))
810 ap = nv_changearray(np, fun);
820 if(fun && !ap && (ap = (Namarr_t*)((*fun)(np, NIL(char*), NV_AINIT))))
824 ap->fun = fun;
833 Namval_t *mp = (Namval_t*)((*fun)(np,NIL(char*),NV_ACURRENT));
875 if(!ap->fun)
901 if(nq=(*ap->header.fun)(np,NIL(char*),NV_ANEXT))
954 if(!ap || !ap->header.fun)
1047 (*ap->header.fun)(np, sp, NV_ASETSUB);
1050 (*ap->header.fun)(np, sp, (mode&ARRAY_ADD)?NV_AADD:0);
1051 if(!(mode&(ARRAY_SCAN|ARRAY_ADD)) && !(*ap->header.fun)(np,NIL(char*),NV_ACURRENT))
1055 (*ap->header.fun)(np,(char*)np,0);
1057 (*ap->header.fun)(np, "",0);
1117 return((Namval_t*)((*ap->header.fun)(np,NIL(char*),NV_ACURRENT)));
1133 return((char*)((*ap->header.fun)(np,NIL(char*),NV_ANAME)));