summaryrefslogtreecommitdiffstats
path: root/scmmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'scmmain.c')
-rw-r--r--scmmain.c45
1 files changed, 34 insertions, 11 deletions
diff --git a/scmmain.c b/scmmain.c
index 3f920dd..ce2d000 100644
--- a/scmmain.c
+++ b/scmmain.c
@@ -15,26 +15,26 @@
* the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
* As a special exception, the Free Software Foundation gives permission
- * for additional uses of the text contained in its release of GUILE.
+ * for additional uses of the text contained in its release of SCM.
*
- * The exception is that, if you link the GUILE library with other files
+ * The exception is that, if you link the SCM library with other files
* to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
- * linking the GUILE library code into it.
+ * linking the SCM library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the
- * Free Software Foundation under the name GUILE. If you copy
+ * Free Software Foundation under the name SCM. If you copy
* code from other Free Software Foundation releases into a copy of
- * GUILE, as the General Public License permits, the exception does
+ * SCM, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
- * If you write modifications of your own for GUILE, it is your choice
+ * If you write modifications of your own for SCM, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*/
@@ -42,9 +42,20 @@
/* "scmmain.c" main() for SCM.
Author: Aubrey Jaffer */
+/* added by Dai Inukai 2001-03-21*/
+#ifdef __FreeBSD__
+# include <floatingpoint.h>
+#endif
+
#include "scm.h"
#include "patchlvl.h"
+#ifdef __IBMC__
+# include <io.h>
+#endif
+#ifdef __OpenBSD__
+# include <unistd.h>
+#endif
#ifndef GENERIC_NAME
# define GENERIC_NAME "scm"
#endif
@@ -86,17 +97,23 @@ int main(argc, argv)
char *script_arg = 0; /* location of SCSH style script file or 0. */
char *implpath = 0, **nargv;
int nargc, iverbose = 0, buf0stdin;
- int freeall = 1; /* Free storage when we're done. */
SCM retval;
-
+/* added by Dai Inukai 2001-03-21 */
+#ifdef __FreeBSD__
+ fp_prec_t fpspec;
+#endif
/* {char ** argvv = argv; */
-/* for (;*argvv;argvv++) {fputs(*argvv,stderr); fputs(" ",stderr);} */
-/* fputs("\n",stderr);} */
+/* for (;*argvv;argvv++) {fputs(*argvv, stderr); fputs(" ", stderr);} */
+/* fputs("\n", stderr);} */
if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */
#ifndef LACK_SBRK
init_sbrk(); /* Do this before malloc()s. */
#endif
+/* added by Dai Inukai 2001-03-21 */
+#ifdef __FreeBSD__
+ fpspec = fpsetprec(FP_PE); /* IEEE 64 bit FP mantissa*/
+#endif
execpath = 0; /* even when dumped */
if ((nargv = script_process_argv(argc, argv))) { /* SCSH style scripts */
script_arg = argv[2]; /* Save for scm_find_execpath() call */
@@ -126,7 +143,7 @@ int main(argc, argv)
#ifdef CAREFUL_INTS
1
#else
- freeall || (2 <= verbose)
+ 1 /* freeall || (2 <= verbose) */ /* Free storage when we're done. */
#endif
);
if (2 <= iverbose) fputs(";EXIT\n", stderr);
@@ -134,6 +151,12 @@ int main(argc, argv)
if (implpath) free(implpath);
if (execpath) free(execpath);
execpath = 0;
+/* added by Dai Inukai 2001-03-27 */
+#ifdef __FreeBSD__
+ fpspec = fpsetprec(fpspec); /* Set back to FP_PD which is 53 bit FP. */
+ /* This may not be needed because the */
+ /* kernel is set to FP_PD by default. */
+#endif
return (int)INUM(retval);
}