diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-12-11 16:03:13 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-12-11 16:03:13 +0000 |
| commit | fdcdc8fd46547a7cd77010db6b57f9cc9f4f51d1 (patch) | |
| tree | e7cfd7b774e59fe9b2092ede165e3dd058a20955 /src/Fl_XBM_Image.cxx | |
| parent | 6905f61c2c00bd2e6777b0ab9d843fbe1a46dcc4 (diff) | |
Multiple fixes from Sebastien.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_XBM_Image.cxx')
| -rw-r--r-- | src/Fl_XBM_Image.cxx | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/Fl_XBM_Image.cxx b/src/Fl_XBM_Image.cxx index 9eedcad2f..56393e053 100644 --- a/src/Fl_XBM_Image.cxx +++ b/src/Fl_XBM_Image.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_XBM_Image.cxx,v 1.1.2.1 2001/11/24 18:07:57 easysw Exp $" +// "$Id: Fl_XBM_Image.cxx,v 1.1.2.2 2001/12/11 16:03:12 easysw Exp $" // // Fl_XBM_Image routines. // @@ -24,6 +24,7 @@ // // Contents: // +// Fl_XBM_Image::Fl_XBM_Image() - Load an XBM file. // // @@ -37,6 +38,10 @@ #include <stdlib.h> #include <string.h> +// +// 'Fl_XBM_Image::Fl_XBM_Image()' - Load an XBM file. +// + Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) { FILE *f; uchar *data; @@ -49,7 +54,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) { int i; for (i = 0; i<2; i++) { for (;;) { - if (!fgets(buffer,1024,f)) return; + if (!fgets(buffer,1024,f)) { + fclose(f); + return; + } int r = sscanf(buffer,"#define %s %d",junk,&wh[i]); if (r >= 2) break; } @@ -57,7 +65,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) { // skip to data array: for (;;) { - if (!fgets(buffer,1024,f)) return; + if (!fgets(buffer,1024,f)) { + fclose(f); + return; + } if (!strncmp(buffer,"static ",7)) break; } @@ -70,7 +81,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) { // read the data: for (i = 0, data = (uchar *)array; i < n;) { - if (!fgets(buffer,1024,f)) return; + if (!fgets(buffer,1024,f)) { + fclose(f); + return; + } const char *a = buffer; while (*a && i<n) { int t; @@ -84,5 +98,5 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) { // -// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.1 2001/11/24 18:07:57 easysw Exp $". +// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.2 2001/12/11 16:03:12 easysw Exp $". // |
