Beispiel #1
0
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;
}
Beispiel #2
0
val_t eic_malloc(void)
{
    val_t v;

    v.p.sp = v.p.p = xmalloc(arg(0,getargs(),size_t));
    setEp( v.p, arg(0,getargs(),size_t) );
    
    return v;
}
Beispiel #3
0
val_t eic_realloc(void)
{
    val_t v;
    arg_list ap = getargs();

    v.p.sp = v.p.p = xrealloc(arg(0,ap,ptr_t).p,
			      arg(1,ap,size_t));
    setEp( v.p, arg(1,ap,size_t) );
    return v;
}
Beispiel #4
0
val_t eic_getenv(void)
{
    val_t v;
    v.p.sp = v.p.p = getenv(nextarg(getargs(),ptr_t).p);
    if(v.p.p)
	setEp( v.p, strlen(v.p.p) + 1 );
    else
	v.p.ep = v.p.p;
    return v;
}
Beispiel #5
0
val_t eic_strerror(void)
{
    val_t v;
    
    v.p.p = strerror(arg(0,getargs(),int));

    v.p.sp = v.p.p;
    
    setEp( v.p, strlen(v.p.p) + 1 );
    
    return v;
}
Beispiel #6
0
val_t eic_calloc(void)
{
    val_t v;
    arg_list ap = getargs();
    size_t s1,s2;
    
    s1 = arg(0,ap,size_t);
    s2 = arg(1,ap,size_t);
    
    v.p.sp = v.p.p = xcalloc(s1,s2);
    
    setEp( v.p, s1 * s2 );  
    return v;
}
Beispiel #7
0
val_t eic_strdup(void)     /* unsafe */
{
    val_t v;
    
    char *p = arg(0,getargs(),ptr_t).p;
    int len = strlen(p);
    v.p.sp = v.p.p = xmalloc(len +1);
    if(v.p.p) {
	strcpy(v.p.p,p);
	v.p.ep = setEp(v.p, len);
    } else
	v.p.ep = NULL;

    return v;
}