diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 1d7d838..08f34bc 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -436,29 +436,11 @@
 	object *self;
 	object *v;
 {
-	FILE *in = sysgetfile("stdin", stdin);
 	FILE *out = sysgetfile("stdout", stdout);
-	char *p;
-	int err;
-	int n = 1000;
 	flushline();
 	if (v != NULL)
 		printobject(v, out, PRINT_RAW);
-	v = newsizedstringobject((char *)NULL, n);
-	if (v != NULL) {
-		if ((err = fgets_intr(getstringvalue(v), n+1, in)) != E_OK) {
-			err_input(err);
-			DECREF(v);
-			return NULL;
-		}
-		else {
-			n = strlen(getstringvalue(v));
-			if (n > 0 && getstringvalue(v)[n-1] == '\n')
-				n--;
-			resizestring(&v, n);
-		}
-	}
-	return v;
+	return filegetline(sysget("stdin"), -1);
 }
 
 static object *
