Lines Matching refs:fun

127 		(*ap->fun)(np, NIL(char*), NV_AFREE);
142 if(!ap->header.fun && aq)
208 mp = (Namval_t*)((*arp->fun)(np,NIL(char*),NV_ACURRENT));
215 return((union Value*)((*arp->fun)(np,NIL(char*),0)));
301 (*ap->header.fun)(np,"0",flag==ARRAY_ASSIGN?NV_AADD:0);
317 mp = (Namval_t*)((*arp->fun)(np,NIL(char*),NV_ACURRENT));
504 if(ap->fun)
505 (*ap->fun)(np,(char*)np,0);
650 (*ap->fun)(np,NIL(char*),NV_ADELETE);
684 (*ap->fun)(np, NIL(char*), NV_AFREE);
847 ap->header.fun = 0;
931 static Namarr_t *nv_changearray(Namval_t *np, void *(*fun)(Namval_t*,const char*,int))
941 if(!fun || !(ap = nv_arrayptr(np)) || is_associative(ap))
946 ap = (Namarr_t*)((*fun)(np, NIL(char*), NV_AINIT));
948 ap->fun = fun;
963 up = (union Value*)((*ap->fun)(np,NIL(char*),0));
974 * set the associative array processing method for node <np> to <fun>
977 Namarr_t *nv_setarray(Namval_t *np, void *(*fun)(Namval_t*,const char*,int))
983 if(fun && (ap = nv_arrayptr(np)))
990 ap = nv_changearray(np, fun);
1000 if(fun && !ap && (ap = (Namarr_t*)((*fun)(np, NIL(char*), NV_AINIT))))
1004 ap->fun = fun;
1013 Namval_t *mp = (Namval_t*)((*fun)(np,NIL(char*),NV_ACURRENT));
1055 if(!ap->fun)
1085 if((*ap->header.fun)(np,NIL(char*),NV_ANEXT))
1176 if(!ap || (!ap->header.fixed && !ap->header.fun))
1178 if(!ap || !ap->header.fun)
1339 (*ap->header.fun)(np, sp, NV_ASETSUB);
1342 (*ap->header.fun)(np, sp, (mode&ARRAY_ADD)?NV_AADD:0);
1343 if(!(mode&(ARRAY_SCAN|ARRAY_ADD)) && !(*ap->header.fun)(np,NIL(char*),NV_ACURRENT))
1347 (*ap->header.fun)(np,(char*)np,0);
1349 (*ap->header.fun)(np, "",0);
1570 return((Namval_t*)((*ap->header.fun)(np,NIL(char*),NV_ACURRENT)));
1609 return((char*)((*ap->header.fun)(np,NIL(char*),NV_ANAME)));