diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-02-26 03:56:19 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-02-26 03:56:19 +0000 |
commit | d613ef02e4bf2ccbbac161910d879e49ce35ecd8 (patch) | |
tree | 0645273db99be98d62780677bee79cbceb8d8992 /bytecode.pl | |
parent | f1c0db8dbc906cad6c85874be33c7969497df1cd (diff) | |
download | perl-d613ef02e4bf2ccbbac161910d879e49ce35ecd8.tar.gz |
[win32] various cleanups so that B can be built as "just another extension"
- export symbols needed for building B
- bset_obj_store() is needed by byterun(), so define it there instead
of at B.xs, and export it
- freadpv() is only used in B.xs, so move it there
- byte*.h are now included by perl.h
- regenerate embed*.h
p4raw-id: //depot/win32/perl@589
Diffstat (limited to 'bytecode.pl')
-rw-r--r-- | bytecode.pl | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/bytecode.pl b/bytecode.pl index e72d852c32..c545f4136d 100644 --- a/bytecode.pl +++ b/bytecode.pl @@ -65,8 +65,20 @@ print BYTERUN_C $c_header, <<'EOT'; #include "EXTERN.h" #include "perl.h" -#include "bytecode.h" -#include "byterun.h" + +void * +bset_obj_store(void *obj, I32 ix) +{ + if (ix > obj_list_fill) { + if (obj_list_fill == -1) + New(666, obj_list, ix + 1, void*); + else + Renew(obj_list, ix + 1, void*); + obj_list_fill = ix; + } + obj_list[ix] = obj; + return obj; +} #ifdef INDIRECT_BGET_MACROS void byterun(struct bytestream bs) @@ -153,18 +165,12 @@ struct bytestream { int (*fread)(char *, size_t, size_t, void*); void (*freadpv)(U32, void*); }; -void freadpv _((U32, void *)); void byterun _((struct bytestream)); #else void byterun _((FILE *)); #endif /* INDIRECT_BGET_MACROS */ -#ifndef PATCHLEVEL -#include "patchlevel.h" -#endif -#if PATCHLEVEL < 4 || (PATCHLEVEL == 4 && SUBVERSION < 50) -#define dTHR extern int errno -#endif +void *bset_obj_store _((void *, I32)); enum { EOT |