diff -ur pureimage-0.1.0.orig/lib/pureimage.rb pureimage-0.1.0/lib/pureimage.rb --- pureimage-0.1.0.orig/lib/pureimage.rb Fri Jul 22 02:16:25 2005 +++ pureimage-0.1.0/lib/pureimage.rb Sun Jul 31 16:48:23 2005 @@ -604,14 +604,8 @@ SIGNATURE = "\x89PNG\x0d\x0a\x1a\x0a" - def save(image, file) - begin - outp = File.new(file, "w") - outp.binmode - rescue - raise "Cannot open PNG file: " + file - end - begin + def write(image, outp) + outp.binmode if outp.respond_to? "binmode" # PNG file signature outp.write(SIGNATURE) # IHDR image header @@ -631,6 +625,16 @@ write_chunk(outp, "IDAT", data) # IEND end write_chunk(outp, "IEND", "") + end + + def save(image, file) + begin + outp = File.new(file, "w") + rescue + raise "Cannot open PNG file: " + file + end + begin + write(image, outp) rescue raise "Cannot write PNG file: " + file ensure