Revert "image_savers/jpeg: actually use normal jmp_buf/setjmp/longjmp"
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 16 Jul 2015 02:13:29 +0000 (11:13 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 16 Jul 2015 02:14:29 +0000 (11:14 +0900)
This reverts commit 5beb47aa4d65d0be9d75550511dd184e9e69b4d8.

Revert "image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf"

This reverts commit 84c7751e195ea29efffbe55eaa732e739402a04a.

these end up with efl simply not compiling. efl tree does not build at
all now and this warrants a revert.

lib/evas/.libs/libevas.so: undefined reference to sigjmp'
collect2: error: ld returned 1 exit status
Makefile:19321: recipe for target 'bin/evas/evas_cserve2' failed
.. etc.

src/modules/evas/image_savers/jpeg/evas_image_save_jpeg.c

index e9034cb..3ef082e 100644 (file)
@@ -14,8 +14,8 @@ static Evas_Image_Save_Func evas_image_save_jpeg_func =
 
 struct _JPEG_error_mgr
 {
-   struct jpeg_error_mgr pub;
-   jmp_buf setjmp_buffer;
+   struct     jpeg_error_mgr pub;
+   jmp_buf    setjmp_buffer;
 };
 typedef struct _JPEG_error_mgr *emptr;
 
@@ -73,7 +73,7 @@ save_image_jpeg(RGBA_Image *im, const char *file, int quality)
    jerr.pub.error_exit = _JPEGFatalErrorHandler;
    jerr.pub.emit_message = _JPEGErrorHandler2;
    jerr.pub.output_message = _JPEGErrorHandler;
-   if (sigjmp(jerr.setjmp_buffer))
+   if (sigsetjmp(jerr.setjmp_buffer, 1))
      {
        jpeg_destroy_compress(&cinfo);
        fclose(f);