diff options
Diffstat (limited to 'stack.c')
-rw-r--r-- | stack.c | 16 |
1 files changed, 4 insertions, 12 deletions
@@ -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; } |