This patch lets me compile ByteLoader when using PerlIO and sfio. Index: ext/ByteLoader/ByteLoader.xs *************** *** 12,15 **** --- 12,38 ---- #endif + #ifdef PerlIO_getc + static int + xgetc(PerlIO *io) + { + return PerlIO_getc(io); + } + #else + # define xgetc PerlIO_getc + #endif + + #ifdef USE_PERLIO + static int + xfread(char *buf, size_t size, size_t n, PerlIO *io) + { + int i = PerlIO_read(io, buf, n * size); + if (i > 0) + i /= size; + return i; + } + #else + # define xgetc fread + #endif + static void freadpv(U32 len, void *data, XPV *pv) *************** *** 31,36 **** bs.data = PL_rsfp; ! bs.pfgetc = (int(*) (void*))fgetc; ! bs.pfread = (int(*) (char*,size_t,size_t,void*))fread; bs.pfreadpv = freadpv; --- 54,59 ---- bs.data = PL_rsfp; ! bs.pfgetc = (int(*) (void*))xgetc; ! bs.pfread = (int(*) (char*,size_t,size_t,void*))xfread; bs.pfreadpv = freadpv; -- Chip Salzenberg - a.k.a. - <chip@valinux.com> "Fleagal. Bingo. Drooper. Snork. They're cops." //MST3K