--- ../ed-1.12.reference/io.c 2015-01-11 19:43:16.000000000 +0100 +++ io.c 2015-07-17 22:29:04.640930193 +0200 @@ -261,8 +261,8 @@ return -1; } size = read_stream( fp, addr ); - if( size < 0 ) return -1; if( *filename == '!' ) ret = pclose( fp ); else ret = fclose( fp ); + if( size < 0 ) return -1; if( ret != 0 ) { show_strerror( filename, errno ); @@ -319,8 +319,8 @@ return -1; } size = write_stream( fp, from, to ); - if( size < 0 ) return -1; if( *filename == '!' ) ret = pclose( fp ); else ret = fclose( fp ); + if( size < 0 ) return -1; if( ret != 0 ) { show_strerror( filename, errno );