From beec8d3f94aa4b7a08574c230bc22cd3545df200 Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Mon, 27 Jan 2003 09:16:53 +0100 Subject: [PATCH] convert_stack_top_to_bignum now loads Gmp if needed Rev: src/bignum.c:1.30 --- src/bignum.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/bignum.c b/src/bignum.c index d11ee13b05..bc890d6d7f 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.29 2003/01/13 14:42:06 grubba Exp $ +|| $Id: bignum.c,v 1.30 2003/01/27 08:16:53 mirar Exp $ */ #include "global.h" @@ -47,7 +47,24 @@ PMOD_EXPORT void convert_stack_top_to_bignum(void) apply_svalue(&auto_bignum_program, 1); if(sp[-1].type != T_OBJECT) - Pike_error("Gmp.mpz conversion failed.\n"); + { + if (auto_bignum_program.type!=T_PROGRAM) + { + /* for some reason, Gmp isn't loaded */ + push_text("Gmp"); + push_int(0); + SAFE_APPLY_MASTER("resolv",2); + pop_stack(); + + if (auto_bignum_program.type!=T_PROGRAM) + Pike_error("Gmp.mpz conversion failed (failed to load Gmp?).\n"); + + apply_svalue(&auto_bignum_program, 1); + } + + if(sp[-1].type != T_OBJECT) + Pike_error("Gmp.mpz conversion failed (unknown error).\n"); + } } PMOD_EXPORT void convert_stack_top_with_base_to_bignum(void) -- GitLab