Lines Matching defs:mode

1121  * <mode> can be a number, plus or more of symbolic constants
1124 * not already array and the ARRAY_ADD bit of <mode> is not set.
1129 Namval_t *nv_putsub(Namval_t *np,register char *sp,register long mode)
1132 register int size = (mode&ARRAY_MASK);
1161 if(size==0 && !(mode&ARRAY_FILL))
1168 ap->header.nelem |= (mode&(ARRAY_SCAN|ARRAY_NOCHILD|ARRAY_UNDEF|ARRAY_NOSCOPE));
1186 if((mode&ARRAY_SCAN) && (ap->cur--,!nv_nextsub(np)))
1188 if(mode&(ARRAY_FILL|ARRAY_ADD))
1190 if(!(mode&ARRAY_ADD))
1193 if(mode&ARRAY_SETSUB)
1220 else if(!(mode&ARRAY_SCAN))
1225 if(sp && !(mode&ARRAY_ADD) && !ap->val[size].cp)
1235 if(mode&ARRAY_UNDEF)
1242 if(mode&ARRAY_FIXED)
1244 mode &= ~ARRAY_UNDEF;
1250 else if(mode&ARRAY_FIXED)
1252 size = (mode&ARRAY_MASK)&~(ARRAY_FIXED);
1272 if(!(mode&ARRAY_FILL))
1274 ap->header.nelem |= (mode&(ARRAY_SCAN|ARRAY_NOCHILD|ARRAY_UNDEF|ARRAY_NOSCOPE));
1282 if(mode&ARRAY_SETSUB)
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))
1291 else if(mode&ARRAY_SCAN)
1293 else if(mode&ARRAY_UNDEF)
1295 if((mode&ARRAY_SCAN) && !nv_nextsub(np))
1384 static char *array_fixed(Namval_t *np, char *sub, char *cp,int mode)
1438 char *nv_endsubscript(Namval_t *np, register char *cp, int mode)
1445 if(c=='\\' && (!(mode&NV_SUBQUOTE) || (c=cp[1])=='[' || c==']' || c=='\\' || c=='*' || c=='@'))
1463 if(mode && np)
1468 if((mode&NV_FARRAY) && !nv_isarray(np))
1479 if((mode&NV_ASSIGN) && (cp[1]=='=' || cp[1]=='+'))
1480 mode |= NV_ADD;
1481 else if(ap && cp[1]=='.' && (mode&NV_FARRAY))
1482 mode |= NV_ADD;
1485 cp = array_fixed(np,sp,cp,mode);
1488 nv_putsub(np, sp, ((mode&NV_ADD)?ARRAY_ADD:0)|(cp[1]&&(mode&NV_ADD)?ARRAY_FILL:mode&ARRAY_FILL));
1605 void *nv_associative(register Namval_t *np,const char *sp,int mode)
1609 switch(mode)
1697 if(mode)
1698 mode = NV_ADD|HASH_NOSCOPE;
1700 mode = HASH_NOSCOPE;
1701 if(*sp==0 && sh_isoption(SH_XTRACE) && (mode&NV_ADD))
1705 if((mp || (mp=nv_search(sp,ap->header.table,mode))) && nv_isnull(mp) && (mode&NV_ADD))
1709 if((mode&NV_ADD) && nv_type(np))
1729 else if(!mp && *sp && mode==0)