X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=stack.c;h=a355fa5e3281b2fc34d1c3460c43701d776c99a2;hb=24724cdc5ea25aae7c110f60a74a671aed86761c;hp=829f8aa6483f9357861680931a49a54d0a045799;hpb=3559b26cba4b13ce35a27aed478b3a5e0433be31;p=calc.git diff --git a/stack.c b/stack.c index 829f8aa..a355fa5 100644 --- a/stack.c +++ b/stack.c @@ -1,3 +1,4 @@ +#include #include #include "debug.h" @@ -30,7 +31,14 @@ double pop () double push (double val) { - return push_tab (stack, -1, val); + double ret = NAN; + if (stack) { + ret = push_tab (stack, -1, val); + } else { + stack = resize_tab (stack, 1); + ret = set_tab (stack, 1, val); + } + return ret; } double put (int n, double val)