Lines Matching defs:lvalue

59 static Namval_t *scope(Shell_t *shp,register Namval_t *np,register struct lval *lvalue,int assign)
61 register int flag = lvalue->flag;
65 int nosub = lvalue->nosub;
69 lvalue->nosub = 0;
70 if(cp>=lvalue->expr && cp < lvalue->expr+lvalue->elen)
95 if((lvalue->emode&ARITH_COMP) && dtvnext(root) && ((mp=nv_search(cp,root,flags))||(sdict && (mp=nv_search(cp,sdict,flags)))))
107 sub = (char*)&lvalue->expr[flag];
113 static Sfdouble_t arith(const char **ptr, struct lval *lvalue, int type, Sfdouble_t n)
123 register Namval_t *np = (Namval_t*)(lvalue->value);
124 np = scope(shp,np,lvalue,1);
127 lvalue->value = (char*)np;
134 lvalue->value = (char*)0;
165 lvalue->fun = 0;
172 lvalue->fun = tp->fnptr;
173 lvalue->nargs = *tp->fname;
177 if(lvalue->fun)
179 lvalue->value = (char*)ERROR_dictionary(e_function);
182 if((lvalue->emode&ARITH_COMP) && dot)
184 lvalue->value = (char*)*ptr;
185 lvalue->flag = str-lvalue->value;
195 Dt_t *root = (lvalue->emode&ARITH_COMP)?shp->var_base:shp->var_tree;
233 lvalue->value = (char*)*ptr;
234 lvalue->flag = str-lvalue->value;
242 if(!np && lvalue->value)
244 lvalue->value = (char*)np;
247 lvalue->isfloat=1;
248 lvalue->flag = 0;
251 lvalue->flag = (str-lvalue->expr);
285 lvalue->isfloat=1;
299 lvalue->isfloat=1;
309 register Namval_t *np = (Namval_t*)(lvalue->value);
312 np = scope(shp,np,lvalue,0);
317 *ptr = lvalue->value;
322 if(((lvalue->emode&2) || lvalue->level>1 || sh_isoption(SH_NOUNSET)) && nv_isnull(np) && !nv_isattr(np,NV_INTEGER))
326 lvalue->value = (char*)ERROR_dictionary(e_notset);
327 lvalue->emode |= 010;
332 lvalue->isfloat= (r!=(Sflong_t)r);
334 lvalue->isfloat=1;
342 errormsg(SH_DICT,ERROR_warn(0),lvalue->value,*ptr);
345 errormsg(SH_DICT,ERROR_exit((lvalue->emode&3)!=0),lvalue->value,*ptr);