[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 02/02: Fix segfault introduced with R6RS port commit
From: |
Andy Wingo |
Subject: |
[Guile-commits] 02/02: Fix segfault introduced with R6RS port commit |
Date: |
Tue, 28 Feb 2017 11:03:47 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 33514ffe22b8cd15ff7ba95bcee80a534b2bbc2a
Author: Andy Wingo <address@hidden>
Date: Tue Feb 28 17:02:25 2017 +0100
Fix segfault introduced with R6RS port commit
* libguile/init.c (scm_i_init_guile): Move scm_register_r6rs_ports
later, so that defining port types hsa the SCM trampoline subrs
defined.
* libguile/bytevectors.c (scm_bootstrap_bytevectors): Cosmetic changes.
---
libguile/bytevectors.c | 11 ++++++-----
libguile/init.c | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index 58df018..7b4585d 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -2095,10 +2095,14 @@ scm_bootstrap_bytevectors (void)
loaded. */
scm_null_bytevector = make_bytevector (0, SCM_ARRAY_ELEMENT_TYPE_VU8);
+
+ scm_endianness_big = sym_big = scm_from_latin1_symbol ("big");
+ scm_endianness_little = sym_little = scm_from_latin1_symbol ("little");
+
#ifdef WORDS_BIGENDIAN
- scm_i_native_endianness = scm_from_latin1_symbol ("big");
+ scm_i_native_endianness = sym_big;
#else
- scm_i_native_endianness = scm_from_latin1_symbol ("little");
+ scm_i_native_endianness = sym_little;
#endif
scm_c_register_extension ("libguile-" SCM_EFFECTIVE_VERSION,
@@ -2109,9 +2113,6 @@ scm_bootstrap_bytevectors (void)
scm_i_register_vector_constructor
(scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_VU8],
scm_make_bytevector);
-
- scm_endianness_big = sym_big = scm_from_latin1_symbol ("big");
- scm_endianness_little = sym_little = scm_from_latin1_symbol ("little");
}
void
diff --git a/libguile/init.c b/libguile/init.c
index a8f690b..1a6f599 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -399,7 +399,6 @@ scm_i_init_guile (void *base)
scm_bootstrap_programs ();
scm_bootstrap_vm ();
scm_register_atomic ();
- scm_register_r6rs_ports ();
scm_register_fdes_finalizers ();
scm_register_foreign ();
scm_register_foreign_object ();
@@ -431,6 +430,7 @@ scm_i_init_guile (void *base)
scm_init_feature ();
scm_init_backtrace ();
scm_init_ports ();
+ scm_register_r6rs_ports (); /* requires ports */
scm_init_fports ();
scm_init_strports ();
scm_init_hash ();