entangledstate-isbn 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +1 -1
- data/Rakefile +0 -18
- data/VERSION +1 -0
- data/isbn.gemspec +290 -7
- data/lib/isbn.rb +6 -6
- data/src/gocr-0.48/.cvsignore +6 -0
- data/src/gocr-0.48/AUTHORS +7 -0
- data/src/gocr-0.48/BUGS +55 -0
- data/src/gocr-0.48/CREDITS +17 -0
- data/src/gocr-0.48/HISTORY +243 -0
- data/src/gocr-0.48/INSTALL +83 -0
- data/src/gocr-0.48/Makefile +193 -0
- data/src/gocr-0.48/Makefile.in +193 -0
- data/src/gocr-0.48/README +165 -0
- data/src/gocr-0.48/READMEde.txt +80 -0
- data/src/gocr-0.48/REMARK.txt +18 -0
- data/src/gocr-0.48/REVIEW +538 -0
- data/src/gocr-0.48/TODO +65 -0
- data/src/gocr-0.48/bin/.cvsignore +2 -0
- data/src/gocr-0.48/bin/create_db +38 -0
- data/src/gocr-0.48/bin/gocr.tcl +527 -0
- data/src/gocr-0.48/bin/gocr_chk.sh +44 -0
- data/src/gocr-0.48/configure +4689 -0
- data/src/gocr-0.48/configure.in +71 -0
- data/src/gocr-0.48/doc/.#Makefile.1.6 +39 -0
- data/src/gocr-0.48/doc/.cvsignore +2 -0
- data/src/gocr-0.48/doc/Makefile +39 -0
- data/src/gocr-0.48/doc/Makefile.in +39 -0
- data/src/gocr-0.48/doc/example.dtd +53 -0
- data/src/gocr-0.48/doc/example.xml +21 -0
- data/src/gocr-0.48/doc/examples.txt +67 -0
- data/src/gocr-0.48/doc/gocr.html +578 -0
- data/src/gocr-0.48/doc/unicode.txt +57 -0
- data/src/gocr-0.48/examples/.#Makefile.1.22 +166 -0
- data/src/gocr-0.48/examples/4x6.png +0 -0
- data/src/gocr-0.48/examples/4x6.txt +2 -0
- data/src/gocr-0.48/examples/5x7.png +0 -0
- data/src/gocr-0.48/examples/5x7.png.txt +2 -0
- data/src/gocr-0.48/examples/5x8.png +0 -0
- data/src/gocr-0.48/examples/5x8.png.txt +2 -0
- data/src/gocr-0.48/examples/Makefile +166 -0
- data/src/gocr-0.48/examples/color.fig +20 -0
- data/src/gocr-0.48/examples/ex.fig +16 -0
- data/src/gocr-0.48/examples/font.tex +22 -0
- data/src/gocr-0.48/examples/font1.tex +46 -0
- data/src/gocr-0.48/examples/font2.fig +27 -0
- data/src/gocr-0.48/examples/font_nw.tex +24 -0
- data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
- data/src/gocr-0.48/examples/handwrt1.txt +10 -0
- data/src/gocr-0.48/examples/inverse.fig +20 -0
- data/src/gocr-0.48/examples/matrix.jpg +0 -0
- data/src/gocr-0.48/examples/ocr-a-subset.png +0 -0
- data/src/gocr-0.48/examples/ocr-a-subset.png.txt +4 -0
- data/src/gocr-0.48/examples/ocr-a.png +0 -0
- data/src/gocr-0.48/examples/ocr-a.txt +6 -0
- data/src/gocr-0.48/examples/ocr-b.png +0 -0
- data/src/gocr-0.48/examples/ocr-b.png.txt +4 -0
- data/src/gocr-0.48/examples/polish.tex +28 -0
- data/src/gocr-0.48/examples/rotate45.fig +14 -0
- data/src/gocr-0.48/examples/score +36 -0
- data/src/gocr-0.48/examples/text.tex +28 -0
- data/src/gocr-0.48/gocr.spec +143 -0
- data/src/gocr-0.48/gpl.html +537 -0
- data/src/gocr-0.48/include/.cvsignore +2 -0
- data/src/gocr-0.48/include/config.h +36 -0
- data/src/gocr-0.48/include/config.h.in +36 -0
- data/src/gocr-0.48/include/version.h +2 -0
- data/src/gocr-0.48/install-sh +3 -0
- data/src/gocr-0.48/make.bat +57 -0
- data/src/gocr-0.48/man/.cvsignore +2 -0
- data/src/gocr-0.48/man/Makefile +29 -0
- data/src/gocr-0.48/man/Makefile.in +29 -0
- data/src/gocr-0.48/man/man1/gocr.1 +166 -0
- data/src/gocr-0.48/src/.cvsignore +4 -0
- data/src/gocr-0.48/src/Makefile +132 -0
- data/src/gocr-0.48/src/Makefile.in +132 -0
- data/src/gocr-0.48/src/amiga.h +31 -0
- data/src/gocr-0.48/src/barcode.c +846 -0
- data/src/gocr-0.48/src/barcode.c.orig +593 -0
- data/src/gocr-0.48/src/barcode.h +11 -0
- data/src/gocr-0.48/src/box.c +372 -0
- data/src/gocr-0.48/src/database.c +462 -0
- data/src/gocr-0.48/src/detect.c +943 -0
- data/src/gocr-0.48/src/gocr.c +373 -0
- data/src/gocr-0.48/src/gocr.h +288 -0
- data/src/gocr-0.48/src/jconv.c +168 -0
- data/src/gocr-0.48/src/job.c +84 -0
- data/src/gocr-0.48/src/lines.c +350 -0
- data/src/gocr-0.48/src/list.c +334 -0
- data/src/gocr-0.48/src/list.h +90 -0
- data/src/gocr-0.48/src/ocr0.c +6756 -0
- data/src/gocr-0.48/src/ocr0.h +63 -0
- data/src/gocr-0.48/src/ocr0n.c +1475 -0
- data/src/gocr-0.48/src/ocr1.c +85 -0
- data/src/gocr-0.48/src/ocr1.h +3 -0
- data/src/gocr-0.48/src/otsu.c +289 -0
- data/src/gocr-0.48/src/otsu.h +23 -0
- data/src/gocr-0.48/src/output.c +289 -0
- data/src/gocr-0.48/src/output.h +37 -0
- data/src/gocr-0.48/src/pcx.c +153 -0
- data/src/gocr-0.48/src/pcx.h +9 -0
- data/src/gocr-0.48/src/pgm2asc.c +2893 -0
- data/src/gocr-0.48/src/pgm2asc.h +105 -0
- data/src/gocr-0.48/src/pixel.c +537 -0
- data/src/gocr-0.48/src/pnm.c +533 -0
- data/src/gocr-0.48/src/pnm.h +35 -0
- data/src/gocr-0.48/src/progress.c +87 -0
- data/src/gocr-0.48/src/progress.h +42 -0
- data/src/gocr-0.48/src/remove.c +703 -0
- data/src/gocr-0.48/src/tga.c +87 -0
- data/src/gocr-0.48/src/tga.h +6 -0
- data/src/gocr-0.48/src/unicode.c +1314 -0
- data/src/gocr-0.48/src/unicode.h +1257 -0
- data/src/jpeg-7/Makefile.am +133 -0
- data/src/jpeg-7/Makefile.in +1089 -0
- data/src/jpeg-7/README +322 -0
- data/src/jpeg-7/aclocal.m4 +8990 -0
- data/src/jpeg-7/ansi2knr.1 +36 -0
- data/src/jpeg-7/ansi2knr.c +739 -0
- data/src/jpeg-7/cderror.h +132 -0
- data/src/jpeg-7/cdjpeg.c +181 -0
- data/src/jpeg-7/cdjpeg.h +187 -0
- data/src/jpeg-7/change.log +270 -0
- data/src/jpeg-7/cjpeg.1 +325 -0
- data/src/jpeg-7/cjpeg.c +616 -0
- data/src/jpeg-7/ckconfig.c +402 -0
- data/src/jpeg-7/coderules.txt +118 -0
- data/src/jpeg-7/config.guess +1561 -0
- data/src/jpeg-7/config.sub +1686 -0
- data/src/jpeg-7/configure +17139 -0
- data/src/jpeg-7/configure.ac +317 -0
- data/src/jpeg-7/depcomp +630 -0
- data/src/jpeg-7/djpeg.1 +251 -0
- data/src/jpeg-7/djpeg.c +617 -0
- data/src/jpeg-7/example.c +433 -0
- data/src/jpeg-7/filelist.txt +215 -0
- data/src/jpeg-7/install-sh +520 -0
- data/src/jpeg-7/install.txt +1097 -0
- data/src/jpeg-7/jaricom.c +148 -0
- data/src/jpeg-7/jcapimin.c +282 -0
- data/src/jpeg-7/jcapistd.c +161 -0
- data/src/jpeg-7/jcarith.c +921 -0
- data/src/jpeg-7/jccoefct.c +453 -0
- data/src/jpeg-7/jccolor.c +459 -0
- data/src/jpeg-7/jcdctmgr.c +482 -0
- data/src/jpeg-7/jchuff.c +1612 -0
- data/src/jpeg-7/jcinit.c +65 -0
- data/src/jpeg-7/jcmainct.c +293 -0
- data/src/jpeg-7/jcmarker.c +667 -0
- data/src/jpeg-7/jcmaster.c +770 -0
- data/src/jpeg-7/jcomapi.c +106 -0
- data/src/jpeg-7/jconfig.bcc +48 -0
- data/src/jpeg-7/jconfig.cfg +45 -0
- data/src/jpeg-7/jconfig.dj +38 -0
- data/src/jpeg-7/jconfig.mac +43 -0
- data/src/jpeg-7/jconfig.manx +43 -0
- data/src/jpeg-7/jconfig.mc6 +52 -0
- data/src/jpeg-7/jconfig.sas +43 -0
- data/src/jpeg-7/jconfig.st +42 -0
- data/src/jpeg-7/jconfig.txt +155 -0
- data/src/jpeg-7/jconfig.vc +45 -0
- data/src/jpeg-7/jconfig.vms +37 -0
- data/src/jpeg-7/jconfig.wat +38 -0
- data/src/jpeg-7/jcparam.c +632 -0
- data/src/jpeg-7/jcprepct.c +358 -0
- data/src/jpeg-7/jcsample.c +545 -0
- data/src/jpeg-7/jctrans.c +381 -0
- data/src/jpeg-7/jdapimin.c +396 -0
- data/src/jpeg-7/jdapistd.c +275 -0
- data/src/jpeg-7/jdarith.c +762 -0
- data/src/jpeg-7/jdatadst.c +151 -0
- data/src/jpeg-7/jdatasrc.c +212 -0
- data/src/jpeg-7/jdcoefct.c +736 -0
- data/src/jpeg-7/jdcolor.c +396 -0
- data/src/jpeg-7/jdct.h +393 -0
- data/src/jpeg-7/jddctmgr.c +382 -0
- data/src/jpeg-7/jdhuff.c +1309 -0
- data/src/jpeg-7/jdinput.c +384 -0
- data/src/jpeg-7/jdmainct.c +512 -0
- data/src/jpeg-7/jdmarker.c +1360 -0
- data/src/jpeg-7/jdmaster.c +663 -0
- data/src/jpeg-7/jdmerge.c +400 -0
- data/src/jpeg-7/jdpostct.c +290 -0
- data/src/jpeg-7/jdsample.c +361 -0
- data/src/jpeg-7/jdtrans.c +136 -0
- data/src/jpeg-7/jerror.c +252 -0
- data/src/jpeg-7/jerror.h +304 -0
- data/src/jpeg-7/jfdctflt.c +174 -0
- data/src/jpeg-7/jfdctfst.c +230 -0
- data/src/jpeg-7/jfdctint.c +4348 -0
- data/src/jpeg-7/jidctflt.c +242 -0
- data/src/jpeg-7/jidctfst.c +368 -0
- data/src/jpeg-7/jidctint.c +5137 -0
- data/src/jpeg-7/jinclude.h +91 -0
- data/src/jpeg-7/jmemansi.c +167 -0
- data/src/jpeg-7/jmemdos.c +638 -0
- data/src/jpeg-7/jmemdosa.asm +379 -0
- data/src/jpeg-7/jmemmac.c +289 -0
- data/src/jpeg-7/jmemmgr.c +1118 -0
- data/src/jpeg-7/jmemname.c +276 -0
- data/src/jpeg-7/jmemnobs.c +109 -0
- data/src/jpeg-7/jmemsys.h +198 -0
- data/src/jpeg-7/jmorecfg.h +369 -0
- data/src/jpeg-7/jpegint.h +395 -0
- data/src/jpeg-7/jpeglib.h +1135 -0
- data/src/jpeg-7/jpegtran.1 +272 -0
- data/src/jpeg-7/jpegtran.c +546 -0
- data/src/jpeg-7/jquant1.c +856 -0
- data/src/jpeg-7/jquant2.c +1310 -0
- data/src/jpeg-7/jutils.c +179 -0
- data/src/jpeg-7/jversion.h +14 -0
- data/src/jpeg-7/libjpeg.map +4 -0
- data/src/jpeg-7/libjpeg.txt +3067 -0
- data/src/jpeg-7/ltmain.sh +8406 -0
- data/src/jpeg-7/makcjpeg.st +36 -0
- data/src/jpeg-7/makdjpeg.st +36 -0
- data/src/jpeg-7/makeadsw.vc6 +77 -0
- data/src/jpeg-7/makeasln.vc9 +33 -0
- data/src/jpeg-7/makecdep.vc6 +82 -0
- data/src/jpeg-7/makecdsp.vc6 +130 -0
- data/src/jpeg-7/makecmak.vc6 +159 -0
- data/src/jpeg-7/makecvcp.vc9 +186 -0
- data/src/jpeg-7/makeddep.vc6 +82 -0
- data/src/jpeg-7/makeddsp.vc6 +130 -0
- data/src/jpeg-7/makedmak.vc6 +159 -0
- data/src/jpeg-7/makedvcp.vc9 +186 -0
- data/src/jpeg-7/makefile.ansi +220 -0
- data/src/jpeg-7/makefile.bcc +291 -0
- data/src/jpeg-7/makefile.dj +226 -0
- data/src/jpeg-7/makefile.manx +220 -0
- data/src/jpeg-7/makefile.mc6 +255 -0
- data/src/jpeg-7/makefile.mms +224 -0
- data/src/jpeg-7/makefile.sas +258 -0
- data/src/jpeg-7/makefile.unix +234 -0
- data/src/jpeg-7/makefile.vc +217 -0
- data/src/jpeg-7/makefile.vms +142 -0
- data/src/jpeg-7/makefile.wat +239 -0
- data/src/jpeg-7/makejdep.vc6 +423 -0
- data/src/jpeg-7/makejdsp.vc6 +285 -0
- data/src/jpeg-7/makejdsw.vc6 +29 -0
- data/src/jpeg-7/makejmak.vc6 +425 -0
- data/src/jpeg-7/makejsln.vc9 +17 -0
- data/src/jpeg-7/makejvcp.vc9 +328 -0
- data/src/jpeg-7/makeproj.mac +213 -0
- data/src/jpeg-7/makerdep.vc6 +6 -0
- data/src/jpeg-7/makerdsp.vc6 +78 -0
- data/src/jpeg-7/makermak.vc6 +110 -0
- data/src/jpeg-7/makervcp.vc9 +133 -0
- data/src/jpeg-7/maketdep.vc6 +43 -0
- data/src/jpeg-7/maketdsp.vc6 +122 -0
- data/src/jpeg-7/maketmak.vc6 +131 -0
- data/src/jpeg-7/maketvcp.vc9 +178 -0
- data/src/jpeg-7/makewdep.vc6 +6 -0
- data/src/jpeg-7/makewdsp.vc6 +78 -0
- data/src/jpeg-7/makewmak.vc6 +110 -0
- data/src/jpeg-7/makewvcp.vc9 +133 -0
- data/src/jpeg-7/makljpeg.st +68 -0
- data/src/jpeg-7/maktjpeg.st +30 -0
- data/src/jpeg-7/makvms.opt +4 -0
- data/src/jpeg-7/missing +376 -0
- data/src/jpeg-7/rdbmp.c +439 -0
- data/src/jpeg-7/rdcolmap.c +253 -0
- data/src/jpeg-7/rdgif.c +38 -0
- data/src/jpeg-7/rdjpgcom.1 +63 -0
- data/src/jpeg-7/rdjpgcom.c +515 -0
- data/src/jpeg-7/rdppm.c +459 -0
- data/src/jpeg-7/rdrle.c +387 -0
- data/src/jpeg-7/rdswitch.c +365 -0
- data/src/jpeg-7/rdtarga.c +500 -0
- data/src/jpeg-7/structure.txt +945 -0
- data/src/jpeg-7/testimg.bmp +0 -0
- data/src/jpeg-7/testimg.jpg +0 -0
- data/src/jpeg-7/testimg.ppm +4 -0
- data/src/jpeg-7/testimgp.jpg +0 -0
- data/src/jpeg-7/testorig.jpg +0 -0
- data/src/jpeg-7/testprog.jpg +0 -0
- data/src/jpeg-7/transupp.c +1533 -0
- data/src/jpeg-7/transupp.h +205 -0
- data/src/jpeg-7/usage.txt +605 -0
- data/src/jpeg-7/wizard.txt +211 -0
- data/src/jpeg-7/wrbmp.c +442 -0
- data/src/jpeg-7/wrgif.c +399 -0
- data/src/jpeg-7/wrjpgcom.1 +103 -0
- data/src/jpeg-7/wrjpgcom.c +583 -0
- data/src/jpeg-7/wrppm.c +269 -0
- data/src/jpeg-7/wrrle.c +305 -0
- data/src/jpeg-7/wrtarga.c +253 -0
- metadata +287 -6
- data/LICENSE +0 -20
- data/VERSION.yml +0 -4
data/src/jpeg-7/jerror.c
ADDED
@@ -0,0 +1,252 @@
|
|
1
|
+
/*
|
2
|
+
* jerror.c
|
3
|
+
*
|
4
|
+
* Copyright (C) 1991-1998, Thomas G. Lane.
|
5
|
+
* This file is part of the Independent JPEG Group's software.
|
6
|
+
* For conditions of distribution and use, see the accompanying README file.
|
7
|
+
*
|
8
|
+
* This file contains simple error-reporting and trace-message routines.
|
9
|
+
* These are suitable for Unix-like systems and others where writing to
|
10
|
+
* stderr is the right thing to do. Many applications will want to replace
|
11
|
+
* some or all of these routines.
|
12
|
+
*
|
13
|
+
* If you define USE_WINDOWS_MESSAGEBOX in jconfig.h or in the makefile,
|
14
|
+
* you get a Windows-specific hack to display error messages in a dialog box.
|
15
|
+
* It ain't much, but it beats dropping error messages into the bit bucket,
|
16
|
+
* which is what happens to output to stderr under most Windows C compilers.
|
17
|
+
*
|
18
|
+
* These routines are used by both the compression and decompression code.
|
19
|
+
*/
|
20
|
+
|
21
|
+
/* this is not a core library module, so it doesn't define JPEG_INTERNALS */
|
22
|
+
#include "jinclude.h"
|
23
|
+
#include "jpeglib.h"
|
24
|
+
#include "jversion.h"
|
25
|
+
#include "jerror.h"
|
26
|
+
|
27
|
+
#ifdef USE_WINDOWS_MESSAGEBOX
|
28
|
+
#include <windows.h>
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef EXIT_FAILURE /* define exit() codes if not provided */
|
32
|
+
#define EXIT_FAILURE 1
|
33
|
+
#endif
|
34
|
+
|
35
|
+
|
36
|
+
/*
|
37
|
+
* Create the message string table.
|
38
|
+
* We do this from the master message list in jerror.h by re-reading
|
39
|
+
* jerror.h with a suitable definition for macro JMESSAGE.
|
40
|
+
* The message table is made an external symbol just in case any applications
|
41
|
+
* want to refer to it directly.
|
42
|
+
*/
|
43
|
+
|
44
|
+
#ifdef NEED_SHORT_EXTERNAL_NAMES
|
45
|
+
#define jpeg_std_message_table jMsgTable
|
46
|
+
#endif
|
47
|
+
|
48
|
+
#define JMESSAGE(code,string) string ,
|
49
|
+
|
50
|
+
const char * const jpeg_std_message_table[] = {
|
51
|
+
#include "jerror.h"
|
52
|
+
NULL
|
53
|
+
};
|
54
|
+
|
55
|
+
|
56
|
+
/*
|
57
|
+
* Error exit handler: must not return to caller.
|
58
|
+
*
|
59
|
+
* Applications may override this if they want to get control back after
|
60
|
+
* an error. Typically one would longjmp somewhere instead of exiting.
|
61
|
+
* The setjmp buffer can be made a private field within an expanded error
|
62
|
+
* handler object. Note that the info needed to generate an error message
|
63
|
+
* is stored in the error object, so you can generate the message now or
|
64
|
+
* later, at your convenience.
|
65
|
+
* You should make sure that the JPEG object is cleaned up (with jpeg_abort
|
66
|
+
* or jpeg_destroy) at some point.
|
67
|
+
*/
|
68
|
+
|
69
|
+
METHODDEF(void)
|
70
|
+
error_exit (j_common_ptr cinfo)
|
71
|
+
{
|
72
|
+
/* Always display the message */
|
73
|
+
(*cinfo->err->output_message) (cinfo);
|
74
|
+
|
75
|
+
/* Let the memory manager delete any temp files before we die */
|
76
|
+
jpeg_destroy(cinfo);
|
77
|
+
|
78
|
+
exit(EXIT_FAILURE);
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
/*
|
83
|
+
* Actual output of an error or trace message.
|
84
|
+
* Applications may override this method to send JPEG messages somewhere
|
85
|
+
* other than stderr.
|
86
|
+
*
|
87
|
+
* On Windows, printing to stderr is generally completely useless,
|
88
|
+
* so we provide optional code to produce an error-dialog popup.
|
89
|
+
* Most Windows applications will still prefer to override this routine,
|
90
|
+
* but if they don't, it'll do something at least marginally useful.
|
91
|
+
*
|
92
|
+
* NOTE: to use the library in an environment that doesn't support the
|
93
|
+
* C stdio library, you may have to delete the call to fprintf() entirely,
|
94
|
+
* not just not use this routine.
|
95
|
+
*/
|
96
|
+
|
97
|
+
METHODDEF(void)
|
98
|
+
output_message (j_common_ptr cinfo)
|
99
|
+
{
|
100
|
+
char buffer[JMSG_LENGTH_MAX];
|
101
|
+
|
102
|
+
/* Create the message */
|
103
|
+
(*cinfo->err->format_message) (cinfo, buffer);
|
104
|
+
|
105
|
+
#ifdef USE_WINDOWS_MESSAGEBOX
|
106
|
+
/* Display it in a message dialog box */
|
107
|
+
MessageBox(GetActiveWindow(), buffer, "JPEG Library Error",
|
108
|
+
MB_OK | MB_ICONERROR);
|
109
|
+
#else
|
110
|
+
/* Send it to stderr, adding a newline */
|
111
|
+
fprintf(stderr, "%s\n", buffer);
|
112
|
+
#endif
|
113
|
+
}
|
114
|
+
|
115
|
+
|
116
|
+
/*
|
117
|
+
* Decide whether to emit a trace or warning message.
|
118
|
+
* msg_level is one of:
|
119
|
+
* -1: recoverable corrupt-data warning, may want to abort.
|
120
|
+
* 0: important advisory messages (always display to user).
|
121
|
+
* 1: first level of tracing detail.
|
122
|
+
* 2,3,...: successively more detailed tracing messages.
|
123
|
+
* An application might override this method if it wanted to abort on warnings
|
124
|
+
* or change the policy about which messages to display.
|
125
|
+
*/
|
126
|
+
|
127
|
+
METHODDEF(void)
|
128
|
+
emit_message (j_common_ptr cinfo, int msg_level)
|
129
|
+
{
|
130
|
+
struct jpeg_error_mgr * err = cinfo->err;
|
131
|
+
|
132
|
+
if (msg_level < 0) {
|
133
|
+
/* It's a warning message. Since corrupt files may generate many warnings,
|
134
|
+
* the policy implemented here is to show only the first warning,
|
135
|
+
* unless trace_level >= 3.
|
136
|
+
*/
|
137
|
+
if (err->num_warnings == 0 || err->trace_level >= 3)
|
138
|
+
(*err->output_message) (cinfo);
|
139
|
+
/* Always count warnings in num_warnings. */
|
140
|
+
err->num_warnings++;
|
141
|
+
} else {
|
142
|
+
/* It's a trace message. Show it if trace_level >= msg_level. */
|
143
|
+
if (err->trace_level >= msg_level)
|
144
|
+
(*err->output_message) (cinfo);
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
|
149
|
+
/*
|
150
|
+
* Format a message string for the most recent JPEG error or message.
|
151
|
+
* The message is stored into buffer, which should be at least JMSG_LENGTH_MAX
|
152
|
+
* characters. Note that no '\n' character is added to the string.
|
153
|
+
* Few applications should need to override this method.
|
154
|
+
*/
|
155
|
+
|
156
|
+
METHODDEF(void)
|
157
|
+
format_message (j_common_ptr cinfo, char * buffer)
|
158
|
+
{
|
159
|
+
struct jpeg_error_mgr * err = cinfo->err;
|
160
|
+
int msg_code = err->msg_code;
|
161
|
+
const char * msgtext = NULL;
|
162
|
+
const char * msgptr;
|
163
|
+
char ch;
|
164
|
+
boolean isstring;
|
165
|
+
|
166
|
+
/* Look up message string in proper table */
|
167
|
+
if (msg_code > 0 && msg_code <= err->last_jpeg_message) {
|
168
|
+
msgtext = err->jpeg_message_table[msg_code];
|
169
|
+
} else if (err->addon_message_table != NULL &&
|
170
|
+
msg_code >= err->first_addon_message &&
|
171
|
+
msg_code <= err->last_addon_message) {
|
172
|
+
msgtext = err->addon_message_table[msg_code - err->first_addon_message];
|
173
|
+
}
|
174
|
+
|
175
|
+
/* Defend against bogus message number */
|
176
|
+
if (msgtext == NULL) {
|
177
|
+
err->msg_parm.i[0] = msg_code;
|
178
|
+
msgtext = err->jpeg_message_table[0];
|
179
|
+
}
|
180
|
+
|
181
|
+
/* Check for string parameter, as indicated by %s in the message text */
|
182
|
+
isstring = FALSE;
|
183
|
+
msgptr = msgtext;
|
184
|
+
while ((ch = *msgptr++) != '\0') {
|
185
|
+
if (ch == '%') {
|
186
|
+
if (*msgptr == 's') isstring = TRUE;
|
187
|
+
break;
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
/* Format the message into the passed buffer */
|
192
|
+
if (isstring)
|
193
|
+
sprintf(buffer, msgtext, err->msg_parm.s);
|
194
|
+
else
|
195
|
+
sprintf(buffer, msgtext,
|
196
|
+
err->msg_parm.i[0], err->msg_parm.i[1],
|
197
|
+
err->msg_parm.i[2], err->msg_parm.i[3],
|
198
|
+
err->msg_parm.i[4], err->msg_parm.i[5],
|
199
|
+
err->msg_parm.i[6], err->msg_parm.i[7]);
|
200
|
+
}
|
201
|
+
|
202
|
+
|
203
|
+
/*
|
204
|
+
* Reset error state variables at start of a new image.
|
205
|
+
* This is called during compression startup to reset trace/error
|
206
|
+
* processing to default state, without losing any application-specific
|
207
|
+
* method pointers. An application might possibly want to override
|
208
|
+
* this method if it has additional error processing state.
|
209
|
+
*/
|
210
|
+
|
211
|
+
METHODDEF(void)
|
212
|
+
reset_error_mgr (j_common_ptr cinfo)
|
213
|
+
{
|
214
|
+
cinfo->err->num_warnings = 0;
|
215
|
+
/* trace_level is not reset since it is an application-supplied parameter */
|
216
|
+
cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */
|
217
|
+
}
|
218
|
+
|
219
|
+
|
220
|
+
/*
|
221
|
+
* Fill in the standard error-handling methods in a jpeg_error_mgr object.
|
222
|
+
* Typical call is:
|
223
|
+
* struct jpeg_compress_struct cinfo;
|
224
|
+
* struct jpeg_error_mgr err;
|
225
|
+
*
|
226
|
+
* cinfo.err = jpeg_std_error(&err);
|
227
|
+
* after which the application may override some of the methods.
|
228
|
+
*/
|
229
|
+
|
230
|
+
GLOBAL(struct jpeg_error_mgr *)
|
231
|
+
jpeg_std_error (struct jpeg_error_mgr * err)
|
232
|
+
{
|
233
|
+
err->error_exit = error_exit;
|
234
|
+
err->emit_message = emit_message;
|
235
|
+
err->output_message = output_message;
|
236
|
+
err->format_message = format_message;
|
237
|
+
err->reset_error_mgr = reset_error_mgr;
|
238
|
+
|
239
|
+
err->trace_level = 0; /* default = no tracing */
|
240
|
+
err->num_warnings = 0; /* no warnings emitted yet */
|
241
|
+
err->msg_code = 0; /* may be useful as a flag for "no error" */
|
242
|
+
|
243
|
+
/* Initialize message table pointers */
|
244
|
+
err->jpeg_message_table = jpeg_std_message_table;
|
245
|
+
err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1;
|
246
|
+
|
247
|
+
err->addon_message_table = NULL;
|
248
|
+
err->first_addon_message = 0; /* for safety */
|
249
|
+
err->last_addon_message = 0;
|
250
|
+
|
251
|
+
return err;
|
252
|
+
}
|
data/src/jpeg-7/jerror.h
ADDED
@@ -0,0 +1,304 @@
|
|
1
|
+
/*
|
2
|
+
* jerror.h
|
3
|
+
*
|
4
|
+
* Copyright (C) 1994-1997, Thomas G. Lane.
|
5
|
+
* Modified 1997-2009 by Guido Vollbeding.
|
6
|
+
* This file is part of the Independent JPEG Group's software.
|
7
|
+
* For conditions of distribution and use, see the accompanying README file.
|
8
|
+
*
|
9
|
+
* This file defines the error and message codes for the JPEG library.
|
10
|
+
* Edit this file to add new codes, or to translate the message strings to
|
11
|
+
* some other language.
|
12
|
+
* A set of error-reporting macros are defined too. Some applications using
|
13
|
+
* the JPEG library may wish to include this file to get the error codes
|
14
|
+
* and/or the macros.
|
15
|
+
*/
|
16
|
+
|
17
|
+
/*
|
18
|
+
* To define the enum list of message codes, include this file without
|
19
|
+
* defining macro JMESSAGE. To create a message string table, include it
|
20
|
+
* again with a suitable JMESSAGE definition (see jerror.c for an example).
|
21
|
+
*/
|
22
|
+
#ifndef JMESSAGE
|
23
|
+
#ifndef JERROR_H
|
24
|
+
/* First time through, define the enum list */
|
25
|
+
#define JMAKE_ENUM_LIST
|
26
|
+
#else
|
27
|
+
/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */
|
28
|
+
#define JMESSAGE(code,string)
|
29
|
+
#endif /* JERROR_H */
|
30
|
+
#endif /* JMESSAGE */
|
31
|
+
|
32
|
+
#ifdef JMAKE_ENUM_LIST
|
33
|
+
|
34
|
+
typedef enum {
|
35
|
+
|
36
|
+
#define JMESSAGE(code,string) code ,
|
37
|
+
|
38
|
+
#endif /* JMAKE_ENUM_LIST */
|
39
|
+
|
40
|
+
JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */
|
41
|
+
|
42
|
+
/* For maintenance convenience, list is alphabetical by message code name */
|
43
|
+
JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix")
|
44
|
+
JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix")
|
45
|
+
JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode")
|
46
|
+
JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS")
|
47
|
+
JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request")
|
48
|
+
JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range")
|
49
|
+
JMESSAGE(JERR_BAD_DCTSIZE, "DCT scaled block size %dx%d not supported")
|
50
|
+
JMESSAGE(JERR_BAD_DROP_SAMPLING,
|
51
|
+
"Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c")
|
52
|
+
JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition")
|
53
|
+
JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace")
|
54
|
+
JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace")
|
55
|
+
JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length")
|
56
|
+
JMESSAGE(JERR_BAD_LIB_VERSION,
|
57
|
+
"Wrong JPEG library version: library is %d, caller expects %d")
|
58
|
+
JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan")
|
59
|
+
JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d")
|
60
|
+
JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d")
|
61
|
+
JMESSAGE(JERR_BAD_PROGRESSION,
|
62
|
+
"Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d")
|
63
|
+
JMESSAGE(JERR_BAD_PROG_SCRIPT,
|
64
|
+
"Invalid progressive parameters at scan script entry %d")
|
65
|
+
JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors")
|
66
|
+
JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d")
|
67
|
+
JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d")
|
68
|
+
JMESSAGE(JERR_BAD_STRUCT_SIZE,
|
69
|
+
"JPEG parameter struct mismatch: library thinks size is %u, caller expects %u")
|
70
|
+
JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access")
|
71
|
+
JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small")
|
72
|
+
JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here")
|
73
|
+
JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet")
|
74
|
+
JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d")
|
75
|
+
JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request")
|
76
|
+
JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d")
|
77
|
+
JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x")
|
78
|
+
JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d")
|
79
|
+
JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d")
|
80
|
+
JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)")
|
81
|
+
JMESSAGE(JERR_EMS_READ, "Read from EMS failed")
|
82
|
+
JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed")
|
83
|
+
JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan")
|
84
|
+
JMESSAGE(JERR_FILE_READ, "Input file read error")
|
85
|
+
JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?")
|
86
|
+
JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet")
|
87
|
+
JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow")
|
88
|
+
JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry")
|
89
|
+
JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels")
|
90
|
+
JMESSAGE(JERR_INPUT_EMPTY, "Empty input file")
|
91
|
+
JMESSAGE(JERR_INPUT_EOF, "Premature end of input file")
|
92
|
+
JMESSAGE(JERR_MISMATCHED_QUANT_TABLE,
|
93
|
+
"Cannot transcode due to multiple use of quantization table %d")
|
94
|
+
JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data")
|
95
|
+
JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change")
|
96
|
+
JMESSAGE(JERR_NOTIMPL, "Not implemented yet")
|
97
|
+
JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time")
|
98
|
+
JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined")
|
99
|
+
JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported")
|
100
|
+
JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined")
|
101
|
+
JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image")
|
102
|
+
JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined")
|
103
|
+
JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x")
|
104
|
+
JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)")
|
105
|
+
JMESSAGE(JERR_QUANT_COMPONENTS,
|
106
|
+
"Cannot quantize more than %d color components")
|
107
|
+
JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors")
|
108
|
+
JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors")
|
109
|
+
JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers")
|
110
|
+
JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker")
|
111
|
+
JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x")
|
112
|
+
JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers")
|
113
|
+
JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF")
|
114
|
+
JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s")
|
115
|
+
JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file")
|
116
|
+
JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file")
|
117
|
+
JMESSAGE(JERR_TFILE_WRITE,
|
118
|
+
"Write failed on temporary file --- out of disk space?")
|
119
|
+
JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines")
|
120
|
+
JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x")
|
121
|
+
JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up")
|
122
|
+
JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation")
|
123
|
+
JMESSAGE(JERR_XMS_READ, "Read from XMS failed")
|
124
|
+
JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed")
|
125
|
+
JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT)
|
126
|
+
JMESSAGE(JMSG_VERSION, JVERSION)
|
127
|
+
JMESSAGE(JTRC_16BIT_TABLES,
|
128
|
+
"Caution: quantization tables are too coarse for baseline JPEG")
|
129
|
+
JMESSAGE(JTRC_ADOBE,
|
130
|
+
"Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d")
|
131
|
+
JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u")
|
132
|
+
JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u")
|
133
|
+
JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x")
|
134
|
+
JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x")
|
135
|
+
JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d")
|
136
|
+
JMESSAGE(JTRC_DRI, "Define Restart Interval %u")
|
137
|
+
JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u")
|
138
|
+
JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u")
|
139
|
+
JMESSAGE(JTRC_EOI, "End Of Image")
|
140
|
+
JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d")
|
141
|
+
JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d")
|
142
|
+
JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE,
|
143
|
+
"Warning: thumbnail image size does not match data length %u")
|
144
|
+
JMESSAGE(JTRC_JFIF_EXTENSION,
|
145
|
+
"JFIF extension marker: type 0x%02x, length %u")
|
146
|
+
JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image")
|
147
|
+
JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u")
|
148
|
+
JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x")
|
149
|
+
JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u")
|
150
|
+
JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors")
|
151
|
+
JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors")
|
152
|
+
JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization")
|
153
|
+
JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d")
|
154
|
+
JMESSAGE(JTRC_RST, "RST%d")
|
155
|
+
JMESSAGE(JTRC_SMOOTH_NOTIMPL,
|
156
|
+
"Smoothing not supported with nonstandard sampling ratios")
|
157
|
+
JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d")
|
158
|
+
JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d")
|
159
|
+
JMESSAGE(JTRC_SOI, "Start of Image")
|
160
|
+
JMESSAGE(JTRC_SOS, "Start Of Scan: %d components")
|
161
|
+
JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d")
|
162
|
+
JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d")
|
163
|
+
JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s")
|
164
|
+
JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s")
|
165
|
+
JMESSAGE(JTRC_THUMB_JPEG,
|
166
|
+
"JFIF extension marker: JPEG-compressed thumbnail image, length %u")
|
167
|
+
JMESSAGE(JTRC_THUMB_PALETTE,
|
168
|
+
"JFIF extension marker: palette thumbnail image, length %u")
|
169
|
+
JMESSAGE(JTRC_THUMB_RGB,
|
170
|
+
"JFIF extension marker: RGB thumbnail image, length %u")
|
171
|
+
JMESSAGE(JTRC_UNKNOWN_IDS,
|
172
|
+
"Unrecognized component IDs %d %d %d, assuming YCbCr")
|
173
|
+
JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u")
|
174
|
+
JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u")
|
175
|
+
JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d")
|
176
|
+
JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code")
|
177
|
+
JMESSAGE(JWRN_BOGUS_PROGRESSION,
|
178
|
+
"Inconsistent progression sequence for component %d coefficient %d")
|
179
|
+
JMESSAGE(JWRN_EXTRANEOUS_DATA,
|
180
|
+
"Corrupt JPEG data: %u extraneous bytes before marker 0x%02x")
|
181
|
+
JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment")
|
182
|
+
JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code")
|
183
|
+
JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d")
|
184
|
+
JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file")
|
185
|
+
JMESSAGE(JWRN_MUST_RESYNC,
|
186
|
+
"Corrupt JPEG data: found marker 0x%02x instead of RST%d")
|
187
|
+
JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG")
|
188
|
+
JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines")
|
189
|
+
|
190
|
+
#ifdef JMAKE_ENUM_LIST
|
191
|
+
|
192
|
+
JMSG_LASTMSGCODE
|
193
|
+
} J_MESSAGE_CODE;
|
194
|
+
|
195
|
+
#undef JMAKE_ENUM_LIST
|
196
|
+
#endif /* JMAKE_ENUM_LIST */
|
197
|
+
|
198
|
+
/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */
|
199
|
+
#undef JMESSAGE
|
200
|
+
|
201
|
+
|
202
|
+
#ifndef JERROR_H
|
203
|
+
#define JERROR_H
|
204
|
+
|
205
|
+
/* Macros to simplify using the error and trace message stuff */
|
206
|
+
/* The first parameter is either type of cinfo pointer */
|
207
|
+
|
208
|
+
/* Fatal errors (print message and exit) */
|
209
|
+
#define ERREXIT(cinfo,code) \
|
210
|
+
((cinfo)->err->msg_code = (code), \
|
211
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
212
|
+
#define ERREXIT1(cinfo,code,p1) \
|
213
|
+
((cinfo)->err->msg_code = (code), \
|
214
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
215
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
216
|
+
#define ERREXIT2(cinfo,code,p1,p2) \
|
217
|
+
((cinfo)->err->msg_code = (code), \
|
218
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
219
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
220
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
221
|
+
#define ERREXIT3(cinfo,code,p1,p2,p3) \
|
222
|
+
((cinfo)->err->msg_code = (code), \
|
223
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
224
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
225
|
+
(cinfo)->err->msg_parm.i[2] = (p3), \
|
226
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
227
|
+
#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \
|
228
|
+
((cinfo)->err->msg_code = (code), \
|
229
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
230
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
231
|
+
(cinfo)->err->msg_parm.i[2] = (p3), \
|
232
|
+
(cinfo)->err->msg_parm.i[3] = (p4), \
|
233
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
234
|
+
#define ERREXIT6(cinfo,code,p1,p2,p3,p4,p5,p6) \
|
235
|
+
((cinfo)->err->msg_code = (code), \
|
236
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
237
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
238
|
+
(cinfo)->err->msg_parm.i[2] = (p3), \
|
239
|
+
(cinfo)->err->msg_parm.i[3] = (p4), \
|
240
|
+
(cinfo)->err->msg_parm.i[4] = (p5), \
|
241
|
+
(cinfo)->err->msg_parm.i[5] = (p6), \
|
242
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
243
|
+
#define ERREXITS(cinfo,code,str) \
|
244
|
+
((cinfo)->err->msg_code = (code), \
|
245
|
+
strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
|
246
|
+
(*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
|
247
|
+
|
248
|
+
#define MAKESTMT(stuff) do { stuff } while (0)
|
249
|
+
|
250
|
+
/* Nonfatal errors (we can keep going, but the data is probably corrupt) */
|
251
|
+
#define WARNMS(cinfo,code) \
|
252
|
+
((cinfo)->err->msg_code = (code), \
|
253
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
254
|
+
#define WARNMS1(cinfo,code,p1) \
|
255
|
+
((cinfo)->err->msg_code = (code), \
|
256
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
257
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
258
|
+
#define WARNMS2(cinfo,code,p1,p2) \
|
259
|
+
((cinfo)->err->msg_code = (code), \
|
260
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
261
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
262
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1))
|
263
|
+
|
264
|
+
/* Informational/debugging messages */
|
265
|
+
#define TRACEMS(cinfo,lvl,code) \
|
266
|
+
((cinfo)->err->msg_code = (code), \
|
267
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
268
|
+
#define TRACEMS1(cinfo,lvl,code,p1) \
|
269
|
+
((cinfo)->err->msg_code = (code), \
|
270
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
271
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
272
|
+
#define TRACEMS2(cinfo,lvl,code,p1,p2) \
|
273
|
+
((cinfo)->err->msg_code = (code), \
|
274
|
+
(cinfo)->err->msg_parm.i[0] = (p1), \
|
275
|
+
(cinfo)->err->msg_parm.i[1] = (p2), \
|
276
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
277
|
+
#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \
|
278
|
+
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
279
|
+
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \
|
280
|
+
(cinfo)->err->msg_code = (code); \
|
281
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
282
|
+
#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \
|
283
|
+
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
284
|
+
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
285
|
+
(cinfo)->err->msg_code = (code); \
|
286
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
287
|
+
#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \
|
288
|
+
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
289
|
+
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
290
|
+
_mp[4] = (p5); \
|
291
|
+
(cinfo)->err->msg_code = (code); \
|
292
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
293
|
+
#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \
|
294
|
+
MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \
|
295
|
+
_mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
|
296
|
+
_mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \
|
297
|
+
(cinfo)->err->msg_code = (code); \
|
298
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); )
|
299
|
+
#define TRACEMSS(cinfo,lvl,code,str) \
|
300
|
+
((cinfo)->err->msg_code = (code), \
|
301
|
+
strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
|
302
|
+
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
|
303
|
+
|
304
|
+
#endif /* JERROR_H */
|