aboutsummaryrefslogtreecommitdiffstats
path: root/src/png.c
diff options
context:
space:
mode:
authorJohn Hawthorn <jhawthor@uvic.ca>2008-06-25 16:20:40 -0700
committerJohn Hawthorn <jhawthor@uvic.ca>2008-06-25 16:20:40 -0700
commit45cf68a160f94d1091c3e5c69237505b138daf25 (patch)
tree33b3c29257f6f983b90174caeaa03f60c856de69 /src/png.c
parent665c97078cfa687273e89c8b969d08f5290bcc01 (diff)
downloadmirror-meh-45cf68a160f94d1091c3e5c69237505b138daf25.tar.gz
mirror-meh-45cf68a160f94d1091c3e5c69237505b138daf25.tar.bz2
mirror-meh-45cf68a160f94d1091c3e5c69237505b138daf25.zip
added close method. Fixed all known memory leaks
Diffstat (limited to 'src/png.c')
-rw-r--r--src/png.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/png.c b/src/png.c
index 659e935..fa6e9f7 100644
--- a/src/png.c
+++ b/src/png.c
@@ -96,14 +96,20 @@ int png_read(struct image *img){
row_pointers[y] = img->buf + y * img->width * 3;
png_read_image(p->png_ptr, row_pointers);
+ free(row_pointers);
+ return 0;
+}
+void png_close(struct image *img){
+ struct png_t *p = (struct png_t *)img;
png_destroy_read_struct(&p->png_ptr, &p->info_ptr, &p->end_info);
- return 0;
+ fclose(p->f);
}
struct imageformat libpng = {
png_open,
- png_read
+ png_read,
+ png_close
};