Kaydet (Commit) 278ef591 authored tarafından Guido van Rossum's avatar Guido van Rossum

Check for write errors after printing a value

üst 139e57b2
......@@ -67,6 +67,7 @@ printobject(op, fp, flags)
FILE *fp;
int flags;
{
int ret = 0;
if (intrcheck()) {
err_set(KeyboardInterrupt);
return -1;
......@@ -81,9 +82,16 @@ printobject(op, fp, flags)
fprintf(fp, "<%s object at %lx>",
op->ob_type->tp_name, (long)op);
else
return (*op->ob_type->tp_print)(op, fp, flags);
ret = (*op->ob_type->tp_print)(op, fp, flags);
}
return 0;
if (ret == 0) {
if (ferror(fp)) {
err_errno(RuntimeError);
clearerr(fp);
ret = -1;
}
}
return ret;
}
object *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment