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