Mercurial > hg > xemacs-beta
view src/unexsol2-6.c @ 5912:47ffa085a9ad
Fix a bug when passing a float to truncate and giving a bignum result.
src/ChangeLog addition:
2015-05-10 Aidan Kehoe <kehoea@parhasard.net>
* floatfns.c (truncate_one_float):
Fix a bug here when double_to_integer() (and previously
float_to_int()) returned a bignum; this was silently treated as a
fixnum, giving consistently incorrect remainders and less
consistently-incorrect but still buggy divisors.
tests/ChangeLog addition:
Check that a bug when supplying #'truncate with one float that
rounds to a bignum, has been fixed.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 10 May 2015 23:55:41 +0100 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
/* Unexec function for Solaris 2.x Copyright (C) 1994 Sun Microsystems, Inc. This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ /* Synched up with: Not in FSF. */ #include <stdlib.h> #include <stdio.h> #include <dlfcn.h> #include "compiler.h" int unexec (char *new_name, char *old_name, unsigned int data_start, unsigned int bss_start, unsigned int entry_address); int unexec (char *new_name, char *UNUSED (old_name), unsigned int UNUSED (data_start), unsigned int UNUSED (bss_start), unsigned int UNUSED (entry_address)) { if (dldump (0, new_name, RTLD_MEMORY) != 0) { fprintf (stderr, "unexec(): dldump(%s): %s \n", new_name, dlerror()); exit (1); } return 0; }