--- stack/stack.c 2002/02/08 04:58:23 1.59 +++ stack/stack.c 2002/02/08 05:12:37 1.60 @@ -961,6 +961,28 @@ push_int(&(env->head), a+b); } +/* - */ +extern void sx_2d(environment *env) { + int a; + + if((env->head)==NULL || env->head->next==NULL) { + printerr("Too Few Arguments"); + env->err=1; + return; + } + + if(env->head->item->type!=integer + || env->head->next->item->type!=integer) { + printerr("Bad Argument Type"); + env->err=2; + return; + } + a=env->head->item->content.val; + toss(env); + if(env->err) return; + env->head->item->content.val -= a; +} + /* Return copy of a value */ value *copy_val(value *old_value){ stackitem *old_item, *new_item, *prev_item;