Lines Matching defs:header

45         Namarr_t        header;
55 Namarr_t header;
140 struct index_array *aq = (struct index_array*)ap->header.scope;
141 if(!ap->header.fun && aq)
143 return (ap->header.fixed || ((ap->cur<aq->maxi) && aq->val[ap->cur].cp));
156 while(*fp && *fp!= &old->header.hdr)
160 new->header.hdr.next = (*fp)->next;
161 *fp = &new->header.hdr;
278 ap->header.nelem &= ~ARRAY_NOSCOPE;
280 ap->header.nelem |= ARRAY_NOSCOPE;
281 if(wasundef = ap->header.nelem&ARRAY_UNDEF)
283 ap->header.nelem &= ~ARRAY_UNDEF;
288 nv_putsub(np, NIL(char*), ARRAY_SCAN|ARRAY_NOSCOPE|(ap->header.fixed?(ARRAY_UNDEF|ARRAY_FIXED):0));
292 ap->header.nelem |= ARRAY_SCAN;
297 (*ap->header.fun)(np,"0",flag==ARRAY_ASSIGN?NV_AADD:0);
330 ap->header.nelem++;
339 char *data = array_fixed_data((Namarr_t*)ap->header.scope);
348 array_fixed_setdata(np,&ap->header,fp);
356 if(!(ap->header.nelem&ARRAY_SCAN) && ap->cur >= ap->maxi)
364 if(!ap->header.table)
365 ap->header.table = dtopen(&_Nvdisc,Dtoset);
368 mp = nv_search(cp, ap->header.table, NV_ADD);
386 ap->header.nelem++;
535 aq->header.nelem |= ARRAY_NOSCOPE;
545 aq->header.nelem = ap->nelem = nelem;
795 ap->header = arp->header;
796 ap->header.hdr.dsize = sizeof(*ap) + i;
806 ap->header.hdr.dsize = sizeof(*ap) + i;
808 ap->header.fun = 0;
818 ap->header.table = dtopen(&_Nvdisc,Dtoset);
819 mp = nv_search("0", ap->header.table,NV_ADD);
838 ap->header.nelem = i;
839 ap->header.hdr.disc = &array_disc;
845 ap->header.hdr.nofree &= ~1;
1041 if(!ap || !(ap->header.nelem&ARRAY_SCAN))
1046 if(nq=(*ap->header.fun)(np,NIL(char*),NV_ANEXT))
1052 ap->header.nelem &= ~(ARRAY_SCAN|ARRAY_NOCHILD);
1056 else if(fp = (struct fixed_array*)ap->header.fixed)
1058 if(ap->header.nelem&ARRAY_FIXED)
1065 ap->header.nelem &= ~ARRAY_FIXED;
1085 ap->header.nelem &= ~(ARRAY_SCAN|ARRAY_NOCHILD);
1089 if(!(ap->header.nelem&ARRAY_NOSCOPE))
1090 ar = (struct index_array*)ap->header.scope;
1094 if(!ap->val[dot].cp && !(ap->header.nelem&ARRAY_NOSCOPE))
1105 if((aq->header.nelem&ARRAY_NOCHILD) && nv_isvtree(mp) && !mp->nvfun->dsize)
1113 ap->header.nelem &= ~(ARRAY_SCAN|ARRAY_NOCHILD);
1135 if(!ap || (!ap->header.fixed && !ap->header.fun))
1137 if(!ap || !ap->header.fun)
1167 ap->header.nelem &= ~ARRAY_UNDEF;
1168 ap->header.nelem |= (mode&(ARRAY_SCAN|ARRAY_NOCHILD|ARRAY_UNDEF|ARRAY_NOSCOPE));
1197 ap->header.nelem = 0;
1205 ap->header.nelem++;
1217 ap->header.nelem++;
1222 ap->header.nelem &= ~ARRAY_SCAN;
1231 if(fp=(struct fixed_array*)ap->header.fixed)
1241 ap->header.nelem &= ~ARRAY_MASK;
1245 ap->header.nelem |= (ARRAY_FIXED|fp->nelem);
1248 ap->header.nelem |= fp->max[0];
1261 fp->dim = ap->header.nelem;
1262 ap->header.nelem |= ARRAY_FIXED;
1271 ap->header.nelem &= ~ARRAY_UNDEF;
1273 ap->header.nelem &= ~ARRAY_SCAN;
1274 ap->header.nelem |= (mode&(ARRAY_SCAN|ARRAY_NOCHILD|ARRAY_UNDEF|ARRAY_NOSCOPE));
1284 (*ap->header.fun)(np, sp, NV_ASETSUB);
1287 (*ap->header.fun)(np, sp, (mode&ARRAY_ADD)?NV_AADD:0);
1288 if(!(mode&(ARRAY_SCAN|ARRAY_ADD)) && !(*ap->header.fun)(np,NIL(char*),NV_ACURRENT))
1292 (*ap->header.fun)(np,(char*)np,0);
1294 (*ap->header.fun)(np, "",0);
1508 return((Namval_t*)((*ap->header.fun)(np,NIL(char*),NV_ACURRENT)));
1510 else if(!(fp=(struct fixed_array*)ap->header.fixed) && array_isbit(ap->bits,ap->cur,ARRAY_CHILD))
1524 if(ap->header.nelem&ARRAY_SCAN)
1547 return((char*)((*ap->header.fun)(np,NIL(char*),NV_ANAME)));
1592 if(!ap || is_associative(&ap->header) || ap->header.fixed)
1594 if(!ap || is_associative(&ap->header))
1614 ap->header.table = dtopen(&_Nvdisc,Dtoset);
1617 ap->header.hdr.disc = &array_disc;
1619 ap->header.hdr.dsize = sizeof(struct assoc_array);
1620 ap->header.hdr.nofree &= ~1;
1626 if(!ap->header.scope || (Dt_t*)ap->header.scope==ap->header.table || !nv_search(ap->cur->nvname,(Dt_t*)ap->header.scope,0))
1627 ap->header.nelem--;
1629 nv_delete(ap->cur,ap->header.table,0);
1635 if(ap->header.scope)
1637 ap->header.table = dtview(ap->header.table,(Dt_t*)0);
1638 dtclose(ap->header.scope);
1639 ap->header.scope = 0;
1642 dtclose(ap->header.table);
1647 if((ap->header.nelem&ARRAY_NOSCOPE) && ap->header.scope && dtvnext(ap->header.table))
1649 ap->header.scope = dtvnext(ap->header.table);
1650 ap->header.table->view = 0;
1653 ap->pos = (Namval_t*)dtfirst(ap->header.table);
1659 ap->nextpos = (Namval_t*)dtnext(ap->header.table,ap->pos);
1662 if((ap->header.nelem&ARRAY_NOCHILD) && nv_isattr(ap->cur,NV_CHILD))
1667 if((ap->header.nelem&ARRAY_NOSCOPE) && ap->header.scope && !dtvnext(ap->header.table))
1669 ap->header.table->view = (Dt_t*)ap->header.scope;
1670 ap->header.scope = ap->header.table;
1699 else if(ap->header.nelem&ARRAY_NOSCOPE)
1703 if(sh.subshell && (mp=nv_search(sp,ap->header.table,0)) && nv_isnull(mp))
1705 if((mp || (mp=nv_search(sp,ap->header.table,mode))) && nv_isnull(mp) && (mode&NV_ADD))
1713 if(!ap->header.scope || !nv_search(sp,dtvnext(ap->header.table),0))
1714 ap->header.nelem++;
1717 if(ap->header.nelem&ARRAY_TREE)
1722 else if(ap->header.nelem&ARRAY_SCAN)
1726 ap->pos = mp = (Namval_t*)dtprev(ap->header.table,&fake);
1727 ap->nextpos = (Namval_t*)dtnext(ap->header.table,mp);
1730 mp = nv_search(sp,ap->header.table,NV_ADD|HASH_NOSCOPE);
1733 ap->header.nelem |= ARRAY_SCAN;
1734 else if(!(ap->header.nelem&ARRAY_SCAN))
1762 if(!(aq = (struct index_array*)ap->header.scope))