+ int n = bfrsz;
+ while( !ret && n >= bfrsz ) {
+ n = fread(bfr,1,bfrsz,ifp);
+ if( n > 0 && (int)fwrite(bfr,1,n,ofp) != n ) {
+ fprintf(stderr, "cant write: %s\n",filename);
+ ret = 1;
+ }
+ }
+ if( ferror(ifp) ) {
+ fprintf(stderr, "read error: %s = %m\n",ifn);
+ ret = 1;
+ }
+ if( ferror(ofp) ) {
+ fprintf(stderr, "write error: %s = %m\n",filename);
+ ret = 1;
+ }
+ if( fclose(ofp) ) {
+ fprintf(stderr, "close error: %s = %m\n",filename);
+ ret = 1;
+ }