From: Christophe CURIS <[email protected]>

The idea is to split the commit in 3 separate changes.
---
 wrlib/load.c            | 14 ++++++++------
 wrlib/tests/Makefile.am |  2 +-
 wrlib/tests/testdraw.c  |  1 -
 wrlib/tests/view.c      |  6 ++----
 4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/wrlib/load.c b/wrlib/load.c
index 061a50d..9667ed2 100644
--- a/wrlib/load.c
+++ b/wrlib/load.c
@@ -275,7 +275,7 @@ char *RGetImageFileFormat(const char *file)
 static WRImgFormat identFile(const char *path)
 {
        FILE *file;
-       unsigned char buffer[7];
+       unsigned char buffer[32];
        size_t nread;
 
        assert(path != NULL);
@@ -295,7 +295,7 @@ static WRImgFormat identFile(const char *path)
        RETRY( fclose(file) )
 
        /* check for XPM */
-       if (strncmp((char *)buffer, "/* XPM", 6) == 0)
+       if (strncmp((char *)buffer, "/* XPM */", 9) == 0)
                return IM_XPM;
 
        /* check for TIFF */
@@ -303,12 +303,14 @@ static WRImgFormat identFile(const char *path)
            || (buffer[0] == 'M' && buffer[1] == 'M' && buffer[2] == 0 && 
buffer[3] == '*'))
                return IM_TIFF;
 
+#ifdef USE_PNG
        /* check for PNG */
-       if (buffer[0] == 0x89 && buffer[1] == 'P' && buffer[2] == 'N' && 
buffer[3] == 'G')
+       if (!png_sig_cmp(buffer, 0, 8))
                return IM_PNG;
+#endif
 
-       /* check for PBM or PGM or PPM */
-       if (buffer[0] == 'P' && (buffer[1] > '0' && buffer[1] < '7') && 
(buffer[2] == 0x0a || buffer[2] == 0x20 || buffer[2] == 0x09 || buffer[2] == 
0x0d))
+       /* check for raw PPM or PGM */
+       if (buffer[0] == 'P' && (buffer[1] == '5' || buffer[1] == '6'))
                return IM_PPM;
 
        /* check for JPEG */
@@ -316,7 +318,7 @@ static WRImgFormat identFile(const char *path)
                return IM_JPEG;
 
        /* check for GIF */
-       if (buffer[0] == 'G' && buffer[1] == 'I' && buffer[2] == 'F' && 
buffer[3] == '8')
+       if (buffer[0] == 'G' && buffer[1] == 'I' && buffer[2] == 'F')
                return IM_GIF;
 
        return IM_UNKNOWN;
diff --git a/wrlib/tests/Makefile.am b/wrlib/tests/Makefile.am
index 76c9872..e447e97 100644
--- a/wrlib/tests/Makefile.am
+++ b/wrlib/tests/Makefile.am
@@ -8,7 +8,7 @@ EXTRA_DIST = test.png tile.xpm ballot_box.xpm
 
 AM_CPPFLAGS = -I$(srcdir)/.. $(DFLAGS) @HEADER_SEARCH_PATH@
 
-LIBLIST = $(top_builddir)/wrlib/libwraster.la @XLIBS@
+LIBLIST = $(top_builddir)/wrlib/libwraster.la
 
 testdraw_SOURCES = testdraw.c
 testdraw_LDADD = $(LIBLIST)
diff --git a/wrlib/tests/testdraw.c b/wrlib/tests/testdraw.c
index 2b209f5..8d416bb 100644
--- a/wrlib/tests/testdraw.c
+++ b/wrlib/tests/testdraw.c
@@ -561,7 +561,6 @@ int main(int argc, char **argv)
 {
        RContextAttributes attr;
        int visualID = -1;
-       (void) argc;
 
        ProgName = strrchr(argv[0], '/');
        if (!ProgName)
diff --git a/wrlib/tests/view.c b/wrlib/tests/view.c
index 52c3ade..6b107af 100644
--- a/wrlib/tests/view.c
+++ b/wrlib/tests/view.c
@@ -24,10 +24,8 @@ int main(int argc, char **argv)
        attr.colors_per_channel = 4;
        ctx = RCreateContext(dpy, DefaultScreen(dpy), &attr);
 
-       if (argc < 2) {
-               printf("using default image as none was provided\n");
+       if (argc < 2)
                img = RGetImageFromXPMData(ctx, image_name);
-       }
        else
                img = RLoadImage(ctx, argv[1], 0);
 
@@ -72,7 +70,7 @@ int main(int argc, char **argv)
                exit(1);
        }
 
-       printf("size is %ix%i\n", img->width, img->height);
+       printf("%ix%i\n", img->width, img->height);
 
        win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 
img->width, img->height, 0, 0, 0);
        XSetWindowBackgroundPixmap(dpy, win, pix);
-- 
1.9.1


-- 
To unsubscribe, send mail to [email protected].

Reply via email to