=================================================================== RCS file: /home/cvs/OpenXM_contrib/gmp/mpz/Attic/iset.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.3 diff -u -p -r1.1.1.2 -r1.1.1.3 --- OpenXM_contrib/gmp/mpz/Attic/iset.c 2000/09/09 14:12:54 1.1.1.2 +++ OpenXM_contrib/gmp/mpz/Attic/iset.c 2003/08/25 16:06:33 1.1.1.3 @@ -1,7 +1,8 @@ /* mpz_init_set (src_integer) -- Make a new multiple precision number with a value copied from SRC_INTEGER. -Copyright (C) 1991, 1993, 1994, 1996 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1996, 2000, 2001, 2002 Free Software Foundation, +Inc. This file is part of the GNU MP Library. @@ -24,13 +25,7 @@ MA 02111-1307, USA. */ #include "gmp-impl.h" void -#if __STDC__ mpz_init_set (mpz_ptr w, mpz_srcptr u) -#else -mpz_init_set (w, u) - mpz_ptr w; - mpz_srcptr u; -#endif { mp_ptr wp, up; mp_size_t usize, size; @@ -39,11 +34,17 @@ mpz_init_set (w, u) size = ABS (usize); w->_mp_alloc = MAX (size, 1); - w->_mp_d = (mp_ptr) (*_mp_allocate_func) (w->_mp_alloc * BYTES_PER_MP_LIMB); + w->_mp_d = (mp_ptr) (*__gmp_allocate_func) (w->_mp_alloc * BYTES_PER_MP_LIMB); wp = w->_mp_d; up = u->_mp_d; MPN_COPY (wp, up, size); w->_mp_size = usize; + +#ifdef __CHECKER__ + /* let the low limb look initialized, for the benefit of mpz_get_ui etc */ + if (size == 0) + wp[0] = 0; +#endif }