Lines Matching defs:ptr
220 static Sfdouble_t arith(const char **ptr, struct lval *lvalue, int type, Sfdouble_t n)
224 char *str = (char*)*ptr;
234 lvalue->ptr = (void*)nv_hasdisc(np,&ENUM_disc);
273 int fsize = str- (char*)(*ptr);
276 c = **ptr;
278 sfprintf(shp->stk,".sh.math.%.*s%c",fsize,*ptr,0);
287 lvalue->fun = (Math_f)sh_mathstdfun(*ptr,fsize,&lvalue->nargs);
298 lvalue->value = (char*)*ptr;
333 cp = (char*)*ptr;
348 else if(!(np = nv_open(*ptr,root,NV_NOREF|NV_NOASSIGN|NV_VARNAME|dot)))
350 lvalue->value = (char*)*ptr;
449 *ptr = lvalue->value;
456 lvalue->ptr = (void*)nv_hasdisc(np,&ENUM_disc);
457 else if((Namfun_t*)lvalue->ptr && !nv_hasdisc(np,&ENUM_disc) && !nv_isattr(np,NV_INTEGER))
460 mp = ((Namfun_t*)lvalue->ptr)->type;
471 *ptr = nv_name(np);
491 errormsg(SH_DICT,ERROR_warn(0),lvalue->value,*ptr);
497 errormsg(SH_DICT,ERROR_exit((lvalue->emode&3)!=0),lvalue->value,*ptr);
499 *ptr = str;
505 * ptr is set to the last character processed
509 Sfdouble_t sh_strnum(register const char *str, char** ptr, int mode)
516 if(ptr)
517 *ptr = (char*)str;
526 if(!ptr && *last && mode>0)
531 if(ptr)
532 *ptr = last;
543 const char *ptr = str;
545 ep = arith_compile(shp,str,(char**)&ptr,arith,ARITH_COMP|1);
546 if(*ptr)
547 errormsg(SH_DICT,ERROR_exit(1),e_lexbadchar,*ptr,str);