diff -Naurp CursesFun.c.old CursesFun.c --- CursesFun.c.old 2005-03-05 09:15:20.714006864 -0500 +++ CursesFun.c 2005-03-05 09:16:14.501829872 -0500 @@ -1276,8 +1276,8 @@ XS(XS_Curses_newterm) c_exactargs("newterm", items, 3); { char * type = ST(0) != &PL_sv_undef ? (char *)SvPV(ST(0),PL_na) : NULL; - FILE * outfd = IoIFP(sv_2io(ST(1))); - FILE * infd = IoIFP(sv_2io(ST(2))); + FILE * outfd = PerlIO_findFILE(IoIFP(sv_2io(ST(1)))); + FILE * infd = PerlIO_findFILE(IoIFP(sv_2io(ST(2)))); SCREEN * ret = newterm(type, outfd, infd); ST(0) = sv_newmortal(); @@ -3450,7 +3450,7 @@ XS(XS_Curses_putwin) c_exactargs("putwin", items, 2); { WINDOW *win = c_sv2window(ST(0), 0); - FILE * filep = IoIFP(sv_2io(ST(1))); + FILE * filep = PerlIO_findFILE(IoIFP(sv_2io(ST(1)))); int ret = putwin(win, filep); ST(0) = sv_newmortal(); @@ -3469,7 +3469,7 @@ XS(XS_Curses_getwin) #ifdef C_GETWIN c_exactargs("getwin", items, 1); { - FILE * filep = IoIFP(sv_2io(ST(0))); + FILE * filep = PerlIO_findFILE(IoIFP(sv_2io(ST(0)))); WINDOW * ret = getwin(filep); ST(0) = sv_newmortal();