printobject now returns an error code
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 47dc920..98eb231 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -192,8 +192,10 @@
 	int err;
 	object *m, *d;
 	flushline();
-	if (v != NULL)
-		printobject(v, out, PRINT_RAW);
+	if (v != NULL) {
+		if (printobject(v, out, PRINT_RAW) != 0)
+			return NULL;
+	}
 	m = add_module("__main__");
 	d = getmoduledict(m);
 	return run_file(in, "<stdin>", expr_input, d, d);
@@ -450,8 +452,10 @@
 {
 	FILE *out = sysgetfile("stdout", stdout);
 	flushline();
-	if (v != NULL)
-		printobject(v, out, PRINT_RAW);
+	if (v != NULL) {
+		if (printobject(v, out, PRINT_RAW) != 0)
+			return NULL;
+	}
 	return filegetline(sysget("stdin"), -1);
 }