diff --git a/Size.xs b/Size.xs
index ff585e0..60417ac 100644
--- a/Size.xs
+++ b/Size.xs
@@ -21,14 +21,14 @@ MODULE = Term::Size PACKAGE = Term::Size
PROTOTYPES: DISABLE
void
-chars( f = stdin )
- FILE *f;
+chars( f = PerlIO_stdin() )
+ PerlIO *f;
PREINIT:
struct winsize w = { 0, 0, 0, 0 };
PPCODE:
- if (ioctl(fileno(f), TIOCGWINSZ, &w) == -1)
+ if (ioctl(PerlIO_fileno(f), TIOCGWINSZ, &w) == -1)
XSRETURN_NO;
XPUSHs(sv_2mortal(newSViv(w.ws_col)));
@@ -36,14 +36,14 @@ chars( f = stdin )
XPUSHs(sv_2mortal(newSViv(w.ws_row)));
void
-pixels( f = stdin )
- FILE *f;
+pixels( f = PerlIO_stdin() )
+ PerlIO *f;
PREINIT:
struct winsize w = { 0, 0, 0, 0 };
PPCODE:
- if (ioctl(fileno(f), TIOCGWINSZ, &w) == -1)
+ if (ioctl(PerlIO_fileno(f), TIOCGWINSZ, &w) == -1)
XSRETURN_NO;
XPUSHs(sv_2mortal(newSViv(w.ws_xpixel)));