[updates] 6 for 3.3a (JPEGReaderWriter2.h clash)

John M McIntosh johnmci at smalltalkconsulting.com
Tue Feb 5 23:51:12 UTC 2002


>  > jerror.c is very different
>
>No differences I can see...

? you are looking at 1.1.1.1?
It has
/*
  * jerror.c
  *
  * Copyright (C) 1991-1998, Thomas G. Lane.
  * This file is part of the Independent JPEG Group's software.
  * For conditions of distribution and use, see the accompanying README file.
  *
  * This file contains simple error-reporting and trace-message routines.
  * These are suitable for Unix-like systems and others where writing to
  * stderr is the right thing to do.  Many applications will want to replace
  * some or all of these routines.
  *
  * If you define USE_WINDOWS_MESSAGEBOX in jconfig.h or in the makefile,
  * you get a Windows-specific hack to display error messages in a dialog box.
  * It ain't much, but it beats dropping error messages into the bit bucket,
  * which is what happens to output to stderr under most Windows C compilers.
  *
  * These routines are used by both the compression and decompression code.
  */

+ lots more

The one dropped out of the image is

  #include <stdio.h>
#include "libjpeg/jpeglib.h"
#include <setjmp.h>

struct error_mgr2 {
   struct jpeg_error_mgr pub;	/* "public" fields */

   jmp_buf setjmp_buffer;	/* for return to caller */
};

typedef struct error_mgr2 * error_ptr2;

/*
  * Here's the routine that will replace the standard error_exit method:
  */

void error_exit (j_common_ptr cinfo)
{
   /* cinfo->err really points to a error_mgr2 struct, so coerce pointer */
   error_ptr2 myerr = (error_ptr2) cinfo->err;

   /* Return control to the setjmp point */
   longjmp(myerr->setjmp_buffer, 1);
}


>
>>  JPEGReaderWriter2Plugin.h is different.
>>
>  > I also seems to have picked up an Error.c

That contains this which is your missing jerror.h. So it seems 
somewhere a change was made to avoid overwriting the standard jpeg 
library C file. Not that might not be right because it depends on how 
the linking is done.

#include <stdio.h>
#include "libjpeg/jpeglib.h"
#include <setjmp.h>

struct error_mgr2 {
   struct jpeg_error_mgr pub;	/* "public" fields */

   jmp_buf setjmp_buffer;	/* for return to caller */
};
'
typedef struct error_mgr2 * error_ptr2;

/*
  * Here's the routine that will replace the standard error_exit method:
  */

void error_exit (j_common_ptr cinfo)
{
   /* cinfo->err really points to a error_mgr2 struct, so coerce pointer */
   error_ptr2 myerr = (error_ptr2) cinfo->err;

   /* Return control to the setjmp point */
   longjmp(myerr->setjmp_buffer, 1);
}
-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list