Add missing vim modeline.
[geeqie.git] / src / image_load_jpeg.c
index dc79ddf..fc00ffc 100644 (file)
 
 
 #include "main.h"
+
 #include "image-load.h"
 #include "image_load_jpeg.h"
 #include "jpeg_parser.h"
 
+#ifdef HAVE_JPEG
+
 #include <setjmp.h>
 #include <jpeglib.h>
 #include <jerror.h>
@@ -225,12 +228,17 @@ static void init_source (j_decompress_ptr cinfo) {}
 static boolean fill_input_buffer (j_decompress_ptr cinfo)
 {
        ERREXIT(cinfo, JERR_INPUT_EMPTY);
+       return TRUE;
 }
 static void skip_input_data (j_decompress_ptr cinfo, long num_bytes)
 {
        struct jpeg_source_mgr* src = (struct jpeg_source_mgr*) cinfo->src;
 
-       if (num_bytes > 0) 
+       if (num_bytes > src->bytes_in_buffer)
+               {
+               ERREXIT(cinfo, JERR_INPUT_EOF);
+               }
+       else if (num_bytes > 0) 
                {
                src->next_input_byte += (size_t) num_bytes;
                src->bytes_in_buffer -= (size_t) num_bytes;
@@ -489,3 +497,7 @@ void image_loader_backend_set_jpeg(ImageLoaderBackend *funcs)
 
 
 
+#endif
+
+
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */