diff --git a/src/bignum.c b/src/bignum.c index 0c8d53918431a1432b9c19f92e475ba6e951b2c5..f026637a92413c09c8e5e8e68eadf33e8bd384e7 100644 --- a/src/bignum.c +++ b/src/bignum.c @@ -2,7 +2,7 @@ || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information. -|| $Id: bignum.c,v 1.32 2003/01/27 10:18:25 mirar Exp $ +|| $Id: bignum.c,v 1.33 2003/02/14 19:19:57 mast Exp $ */ #include "global.h" @@ -46,22 +46,24 @@ PMOD_EXPORT void convert_stack_top_to_bignum(void) { apply_svalue(&auto_bignum_program, 1); - if(sp[-1].type != T_OBJECT) + if(sp[-1].type != T_OBJECT) { if (auto_bignum_program.type!=T_PROGRAM) Pike_error("Gmp.mpz conversion failed (Gmp.bignum not loaded).\n"); else Pike_error("Gmp.mpz conversion failed (unknown error).\n"); + } } PMOD_EXPORT void convert_stack_top_with_base_to_bignum(void) { apply_svalue(&auto_bignum_program, 2); - if(sp[-1].type != T_OBJECT) + if(sp[-1].type != T_OBJECT) { if (auto_bignum_program.type!=T_PROGRAM) Pike_error("Gmp.mpz conversion failed (Gmp.bignum not loaded).\n"); else Pike_error("Gmp.mpz conversion failed (unknown error).\n"); + } } int is_bignum_object(struct object *o) @@ -151,8 +153,10 @@ PMOD_EXPORT void push_int64(INT64 i) apply_svalue(&auto_bignum_program, 2); - if(neg) + if(neg) { apply_low(sp[-1].u.object,FIND_LFUN(sp[-1].u.object->prog,LFUN_COMPL),0); + stack_pop_n_elems_keep_top(1); + } } }