/* -*-C-*-
-$Id: c.c,v 1.23 2007/06/06 19:42:41 cph Exp $
+$Id: c.c,v 1.24 2007/07/17 04:40:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
static int declare_compiled_code_ns_1
(const char *, entry_count_t, liarc_code_proc_t *);
-static const char * compute_full_name (const char *);
static bool grow_compiled_blocks (void);
static bool grow_compiled_entries (entry_count_t);
static int declare_trampoline_block (entry_count_t);
{
void * p = dstack_position;
int rc
- = (declare_compiled_code_ns_1 ((compute_full_name (name)),
+ = (declare_compiled_code_ns_1 ((liarc_object_file_name (name)),
n_block_entries,
code_proc));
dstack_set_position (p);
return (-1);
}
\f
-static const char *
-compute_full_name (const char * name)
+const char *
+liarc_object_file_name (const char * name)
{
const char * prefix;
char * full;
declare_compiled_data_ns (const char * name, liarc_data_proc_t * data_proc)
{
void * p = dstack_position;
- const char * full = (compute_full_name (name));
+ const char * full = (liarc_object_file_name (name));
compiled_block_t * block = (find_compiled_block (full));
dstack_set_position (p);
if (! ((block != 0)
declare_data_object (const char * name, liarc_object_proc_t * object_proc)
{
void * p = dstack_position;
- const char * full = (compute_full_name (name));
+ const char * full = (liarc_object_file_name (name));
compiled_block_t * block = (find_compiled_block (full));
if (block == 0)
{
/* -*-C-*-
-$Id: liarc.h,v 1.31 2007/06/06 19:42:40 cph Exp $
+$Id: liarc.h,v 1.32 2007/07/17 04:40:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
#define DECLARE_DYNAMIC_INITIALIZATION(name, nonce) \
const char dload_nonce [] = nonce; \
\
-char * \
+const char * \
dload_initialize_file (void) \
{ \
return \
((((dload_initialize_code ()) == 0) \
&& ((dload_initialize_data ()) == 0)) \
- ? name \
+ ? (liarc_object_file_name (name)) \
: 0); \
}
#define DECLARE_DYNAMIC_OBJECT_INITIALIZATION(name, nonce) \
const char dload_nonce [] = nonce; \
\
-char * \
+const char * \
dload_initialize_file (void) \
{ \
- return (((dload_initialize_data ()) == 0) ? name : 0); \
+ return \
+ (((dload_initialize_data ()) == 0) \
+ ? (liarc_object_file_name (name)) \
+ : 0); \
}
#else /* !ENABLE_LIARC_FILE_INIT */
extern int declare_compiled_code_mult (unsigned, const struct liarc_code_S *);
extern int declare_compiled_data_mult (unsigned, const struct liarc_data_S *);
+extern const char * liarc_object_file_name (const char *);
+
extern SCHEME_OBJECT unstackify (unsigned char *, size_t, entry_count_t);
extern int multiply_with_overflow (long, long, long *);