aboutsummaryrefslogtreecommitdiffstats
path: root/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'stack.c')
-rw-r--r--stack.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/stack.c b/stack.c
index d970bc2..8ada8ea 100644
--- a/stack.c
+++ b/stack.c
@@ -20,27 +20,19 @@ variable *igetarg(interpreter *interp, uint32_t index)
return interp->stack[interp->stidx - index - 1];
}
-char *igetarg_string(interpreter *interp, uint32_t index)
+const char *igetarg_string(interpreter *interp, uint32_t index)
{
if (index >= interp->stidx)
return 0;
variable *v = igetarg(interp, index);
- return v->svalue;
+ return (const char *)v->value.p;
}
-int igetarg_integer(interpreter *interp, uint32_t index)
+float igetarg_number(interpreter *interp, uint32_t index)
{
if (index >= interp->stidx)
return 0;
variable *v = igetarg(interp, index);
- return INT(itoint(v));
-}
-
-float igetarg_float(interpreter *interp, uint32_t index)
-{
- if (index >= interp->stidx)
- return 0;
- variable *v = igetarg(interp, index);
- return FLOAT(itofloat(v));
+ return v->value.f;
}