val_t eic_strcat(void) /* unsafe */ { val_t v; ptr_t p2; getptrarg(0,v.p); getptrarg(1,p2); checkEp( v.p, strlen(v.p.p) + strlen(p2.p) + 1 ); strcat(v.p.p,p2.p); return v; }
val_t eic_strrev(void) { val_t v; getptrarg(0,v.p); v.p.p = strrev(v.p.p); return v; }
val_t eic_ltoa(void) { arg_list ap = getargs(); val_t v; getptrarg(1,v.p); switch(arg(3,ap,int)) { case 1: v.p.sp = v.p.p = ltoa(arg(0,ap,long), v.p.p, arg(2,ap,int)); break; case 2: v.p.sp = v.p.p = ultoa(arg(0,ap,unsigned long), v.p.p, arg(2,ap,int)); break; } setEp( v.p, strlen(v.p.p) + 1 ); return v; }
val_t eic_strrchr(void) { val_t v; getptrarg(0,v.p); v.p.p = strrchr(v.p.p, arg(1,getargs(),int)); return v; }
val_t eic_memcpy(void) { val_t v; ptr_t p2; size_t s; getptrarg(0,v.p); getptrarg(1,p2); s = arg(2,getargs(),size_t); checkEp(v.p,s); checkEp(p2,s); memcpy(v.p.p,p2.p,s); return v; }
val_t eic_strstr(void) { val_t v; getptrarg(0,v.p); v.p.p = strstr(v.p.p, arg(1,getargs(),ptr_t).p); return v; }
val_t eic_strncat(void) /* unsafe */ { val_t v; ptr_t p2; size_t s, s1; getptrarg(0,v.p); getptrarg(1,p2); s = arg(2,getargs(),size_t); s1 = strlen(p2.p); checkEp(v.p,strlen(v.p.p) + (s < s1 ? s : s1) + 1 ); strncat(v.p.p,p2.p,s); return v; }
val_t eic_strcpy(void) /* unsafe */ { val_t v; getptrarg(0,v.p); checkEp(v.p,strlen(arg(1,getargs(), ptr_t).p) + 1); strcpy(v.p.p, arg(1,getargs(), ptr_t).p); return v; }
val_t eic_memmove(void) { val_t v; ptr_t p2; size_t s; getptrarg(0,v.p); getptrarg(1,p2); s = arg(2,getargs(),size_t); checkEp(v.p,s); checkEp(p2,s); #ifdef _SUNOS bcopy(p2.p,v.p.p,s); #else memmove(v.p.p,p2.p,s); #endif return v; }
val_t eic_fftoa(void) { val_t v; arg_list ap = getargs(); getptrarg(1,v.p); fftoa(arg(0,ap,float), /* value */ v.p.p, /* string */ arg(2,ap,int), /* precision */ arg(3,ap,char), /* 'f','e' or 'E' */ arg(4,ap,int)); /* truncation, i.e. 0 or 1 */ return v; }
val_t eic_memset(void) { val_t v; size_t s; getptrarg(0,v.p); s = arg(2,getargs(),size_t); checkEp(v.p,s); memset(v.p.p, arg(1,getargs(),int), s); return v; }
val_t eic_strtok(void) { static val_t h; val_t v; getptrarg(0,v.p); if(v.p.p == NULL) { v.p.sp = h.p.sp; v.p.ep = h.p.ep; }else h.p = v.p; v.p.p = strtok(v.p.p, arg(1,getargs(),ptr_t).p); return v; }