# HG changeset patch # User Carnë Draug # Date 1373648780 -3600 # Node ID 52c1b832d98eb4b2ff5207e48430f56b46af29c5 # Parent 269e96910ae9af2fa8b2fbda156910643843df4a imread: make sure test file is removed if imread() errors. * imread.m: file removal is made before the test so it occurs even if test fails. However, if imread() errors, file was never removed. Fixed with use of unwind_protect block. Also, use tmpnam() to choose filename instead of current working directory. diff -r 269e96910ae9 -r 52c1b832d98e scripts/image/imread.m --- a/scripts/image/imread.m Fri Jul 12 16:51:55 2013 +0100 +++ b/scripts/image/imread.m Fri Jul 12 18:06:20 2013 +0100 @@ -93,11 +93,15 @@ %! 16, 28, 160, 16, 0, 197, 214, 13, 34, 74, ... %! 117, 213, 17, 0, 0, 0, 0, 73, 69, 78, ... %! 68, 174, 66, 96, 130]; -%! fid = fopen ("test.png", "wb"); -%! fwrite (fid, vpng); -%! fclose (fid); -%! A = imread ("test.png"); -%! delete ("test.png"); +%! filename = [tmpnam() ".png"]; +%! unwind_protect +%! fid = fopen (filename, "wb"); +%! fwrite (fid, vpng); +%! fclose (fid); +%! A = imread (filename); +%! unwind_protect_cleanup +%! unlink (filename); +%! end_unwind_protect %! assert (A(:,:,1), uint8 ([0, 255, 0; 255, 237, 255; 0, 255, 0])); %! assert (A(:,:,2), uint8 ([0, 255, 0; 255, 28, 255; 0, 255, 0])); %! assert (A(:,:,3), uint8 ([0, 255, 0; 255, 36, 255; 0, 255, 0]));