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.
Files changed (290) hide show
  1. data/README +1 -1
  2. data/Rakefile +0 -18
  3. data/VERSION +1 -0
  4. data/isbn.gemspec +290 -7
  5. data/lib/isbn.rb +6 -6
  6. data/src/gocr-0.48/.cvsignore +6 -0
  7. data/src/gocr-0.48/AUTHORS +7 -0
  8. data/src/gocr-0.48/BUGS +55 -0
  9. data/src/gocr-0.48/CREDITS +17 -0
  10. data/src/gocr-0.48/HISTORY +243 -0
  11. data/src/gocr-0.48/INSTALL +83 -0
  12. data/src/gocr-0.48/Makefile +193 -0
  13. data/src/gocr-0.48/Makefile.in +193 -0
  14. data/src/gocr-0.48/README +165 -0
  15. data/src/gocr-0.48/READMEde.txt +80 -0
  16. data/src/gocr-0.48/REMARK.txt +18 -0
  17. data/src/gocr-0.48/REVIEW +538 -0
  18. data/src/gocr-0.48/TODO +65 -0
  19. data/src/gocr-0.48/bin/.cvsignore +2 -0
  20. data/src/gocr-0.48/bin/create_db +38 -0
  21. data/src/gocr-0.48/bin/gocr.tcl +527 -0
  22. data/src/gocr-0.48/bin/gocr_chk.sh +44 -0
  23. data/src/gocr-0.48/configure +4689 -0
  24. data/src/gocr-0.48/configure.in +71 -0
  25. data/src/gocr-0.48/doc/.#Makefile.1.6 +39 -0
  26. data/src/gocr-0.48/doc/.cvsignore +2 -0
  27. data/src/gocr-0.48/doc/Makefile +39 -0
  28. data/src/gocr-0.48/doc/Makefile.in +39 -0
  29. data/src/gocr-0.48/doc/example.dtd +53 -0
  30. data/src/gocr-0.48/doc/example.xml +21 -0
  31. data/src/gocr-0.48/doc/examples.txt +67 -0
  32. data/src/gocr-0.48/doc/gocr.html +578 -0
  33. data/src/gocr-0.48/doc/unicode.txt +57 -0
  34. data/src/gocr-0.48/examples/.#Makefile.1.22 +166 -0
  35. data/src/gocr-0.48/examples/4x6.png +0 -0
  36. data/src/gocr-0.48/examples/4x6.txt +2 -0
  37. data/src/gocr-0.48/examples/5x7.png +0 -0
  38. data/src/gocr-0.48/examples/5x7.png.txt +2 -0
  39. data/src/gocr-0.48/examples/5x8.png +0 -0
  40. data/src/gocr-0.48/examples/5x8.png.txt +2 -0
  41. data/src/gocr-0.48/examples/Makefile +166 -0
  42. data/src/gocr-0.48/examples/color.fig +20 -0
  43. data/src/gocr-0.48/examples/ex.fig +16 -0
  44. data/src/gocr-0.48/examples/font.tex +22 -0
  45. data/src/gocr-0.48/examples/font1.tex +46 -0
  46. data/src/gocr-0.48/examples/font2.fig +27 -0
  47. data/src/gocr-0.48/examples/font_nw.tex +24 -0
  48. data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
  49. data/src/gocr-0.48/examples/handwrt1.txt +10 -0
  50. data/src/gocr-0.48/examples/inverse.fig +20 -0
  51. data/src/gocr-0.48/examples/matrix.jpg +0 -0
  52. data/src/gocr-0.48/examples/ocr-a-subset.png +0 -0
  53. data/src/gocr-0.48/examples/ocr-a-subset.png.txt +4 -0
  54. data/src/gocr-0.48/examples/ocr-a.png +0 -0
  55. data/src/gocr-0.48/examples/ocr-a.txt +6 -0
  56. data/src/gocr-0.48/examples/ocr-b.png +0 -0
  57. data/src/gocr-0.48/examples/ocr-b.png.txt +4 -0
  58. data/src/gocr-0.48/examples/polish.tex +28 -0
  59. data/src/gocr-0.48/examples/rotate45.fig +14 -0
  60. data/src/gocr-0.48/examples/score +36 -0
  61. data/src/gocr-0.48/examples/text.tex +28 -0
  62. data/src/gocr-0.48/gocr.spec +143 -0
  63. data/src/gocr-0.48/gpl.html +537 -0
  64. data/src/gocr-0.48/include/.cvsignore +2 -0
  65. data/src/gocr-0.48/include/config.h +36 -0
  66. data/src/gocr-0.48/include/config.h.in +36 -0
  67. data/src/gocr-0.48/include/version.h +2 -0
  68. data/src/gocr-0.48/install-sh +3 -0
  69. data/src/gocr-0.48/make.bat +57 -0
  70. data/src/gocr-0.48/man/.cvsignore +2 -0
  71. data/src/gocr-0.48/man/Makefile +29 -0
  72. data/src/gocr-0.48/man/Makefile.in +29 -0
  73. data/src/gocr-0.48/man/man1/gocr.1 +166 -0
  74. data/src/gocr-0.48/src/.cvsignore +4 -0
  75. data/src/gocr-0.48/src/Makefile +132 -0
  76. data/src/gocr-0.48/src/Makefile.in +132 -0
  77. data/src/gocr-0.48/src/amiga.h +31 -0
  78. data/src/gocr-0.48/src/barcode.c +846 -0
  79. data/src/gocr-0.48/src/barcode.c.orig +593 -0
  80. data/src/gocr-0.48/src/barcode.h +11 -0
  81. data/src/gocr-0.48/src/box.c +372 -0
  82. data/src/gocr-0.48/src/database.c +462 -0
  83. data/src/gocr-0.48/src/detect.c +943 -0
  84. data/src/gocr-0.48/src/gocr.c +373 -0
  85. data/src/gocr-0.48/src/gocr.h +288 -0
  86. data/src/gocr-0.48/src/jconv.c +168 -0
  87. data/src/gocr-0.48/src/job.c +84 -0
  88. data/src/gocr-0.48/src/lines.c +350 -0
  89. data/src/gocr-0.48/src/list.c +334 -0
  90. data/src/gocr-0.48/src/list.h +90 -0
  91. data/src/gocr-0.48/src/ocr0.c +6756 -0
  92. data/src/gocr-0.48/src/ocr0.h +63 -0
  93. data/src/gocr-0.48/src/ocr0n.c +1475 -0
  94. data/src/gocr-0.48/src/ocr1.c +85 -0
  95. data/src/gocr-0.48/src/ocr1.h +3 -0
  96. data/src/gocr-0.48/src/otsu.c +289 -0
  97. data/src/gocr-0.48/src/otsu.h +23 -0
  98. data/src/gocr-0.48/src/output.c +289 -0
  99. data/src/gocr-0.48/src/output.h +37 -0
  100. data/src/gocr-0.48/src/pcx.c +153 -0
  101. data/src/gocr-0.48/src/pcx.h +9 -0
  102. data/src/gocr-0.48/src/pgm2asc.c +2893 -0
  103. data/src/gocr-0.48/src/pgm2asc.h +105 -0
  104. data/src/gocr-0.48/src/pixel.c +537 -0
  105. data/src/gocr-0.48/src/pnm.c +533 -0
  106. data/src/gocr-0.48/src/pnm.h +35 -0
  107. data/src/gocr-0.48/src/progress.c +87 -0
  108. data/src/gocr-0.48/src/progress.h +42 -0
  109. data/src/gocr-0.48/src/remove.c +703 -0
  110. data/src/gocr-0.48/src/tga.c +87 -0
  111. data/src/gocr-0.48/src/tga.h +6 -0
  112. data/src/gocr-0.48/src/unicode.c +1314 -0
  113. data/src/gocr-0.48/src/unicode.h +1257 -0
  114. data/src/jpeg-7/Makefile.am +133 -0
  115. data/src/jpeg-7/Makefile.in +1089 -0
  116. data/src/jpeg-7/README +322 -0
  117. data/src/jpeg-7/aclocal.m4 +8990 -0
  118. data/src/jpeg-7/ansi2knr.1 +36 -0
  119. data/src/jpeg-7/ansi2knr.c +739 -0
  120. data/src/jpeg-7/cderror.h +132 -0
  121. data/src/jpeg-7/cdjpeg.c +181 -0
  122. data/src/jpeg-7/cdjpeg.h +187 -0
  123. data/src/jpeg-7/change.log +270 -0
  124. data/src/jpeg-7/cjpeg.1 +325 -0
  125. data/src/jpeg-7/cjpeg.c +616 -0
  126. data/src/jpeg-7/ckconfig.c +402 -0
  127. data/src/jpeg-7/coderules.txt +118 -0
  128. data/src/jpeg-7/config.guess +1561 -0
  129. data/src/jpeg-7/config.sub +1686 -0
  130. data/src/jpeg-7/configure +17139 -0
  131. data/src/jpeg-7/configure.ac +317 -0
  132. data/src/jpeg-7/depcomp +630 -0
  133. data/src/jpeg-7/djpeg.1 +251 -0
  134. data/src/jpeg-7/djpeg.c +617 -0
  135. data/src/jpeg-7/example.c +433 -0
  136. data/src/jpeg-7/filelist.txt +215 -0
  137. data/src/jpeg-7/install-sh +520 -0
  138. data/src/jpeg-7/install.txt +1097 -0
  139. data/src/jpeg-7/jaricom.c +148 -0
  140. data/src/jpeg-7/jcapimin.c +282 -0
  141. data/src/jpeg-7/jcapistd.c +161 -0
  142. data/src/jpeg-7/jcarith.c +921 -0
  143. data/src/jpeg-7/jccoefct.c +453 -0
  144. data/src/jpeg-7/jccolor.c +459 -0
  145. data/src/jpeg-7/jcdctmgr.c +482 -0
  146. data/src/jpeg-7/jchuff.c +1612 -0
  147. data/src/jpeg-7/jcinit.c +65 -0
  148. data/src/jpeg-7/jcmainct.c +293 -0
  149. data/src/jpeg-7/jcmarker.c +667 -0
  150. data/src/jpeg-7/jcmaster.c +770 -0
  151. data/src/jpeg-7/jcomapi.c +106 -0
  152. data/src/jpeg-7/jconfig.bcc +48 -0
  153. data/src/jpeg-7/jconfig.cfg +45 -0
  154. data/src/jpeg-7/jconfig.dj +38 -0
  155. data/src/jpeg-7/jconfig.mac +43 -0
  156. data/src/jpeg-7/jconfig.manx +43 -0
  157. data/src/jpeg-7/jconfig.mc6 +52 -0
  158. data/src/jpeg-7/jconfig.sas +43 -0
  159. data/src/jpeg-7/jconfig.st +42 -0
  160. data/src/jpeg-7/jconfig.txt +155 -0
  161. data/src/jpeg-7/jconfig.vc +45 -0
  162. data/src/jpeg-7/jconfig.vms +37 -0
  163. data/src/jpeg-7/jconfig.wat +38 -0
  164. data/src/jpeg-7/jcparam.c +632 -0
  165. data/src/jpeg-7/jcprepct.c +358 -0
  166. data/src/jpeg-7/jcsample.c +545 -0
  167. data/src/jpeg-7/jctrans.c +381 -0
  168. data/src/jpeg-7/jdapimin.c +396 -0
  169. data/src/jpeg-7/jdapistd.c +275 -0
  170. data/src/jpeg-7/jdarith.c +762 -0
  171. data/src/jpeg-7/jdatadst.c +151 -0
  172. data/src/jpeg-7/jdatasrc.c +212 -0
  173. data/src/jpeg-7/jdcoefct.c +736 -0
  174. data/src/jpeg-7/jdcolor.c +396 -0
  175. data/src/jpeg-7/jdct.h +393 -0
  176. data/src/jpeg-7/jddctmgr.c +382 -0
  177. data/src/jpeg-7/jdhuff.c +1309 -0
  178. data/src/jpeg-7/jdinput.c +384 -0
  179. data/src/jpeg-7/jdmainct.c +512 -0
  180. data/src/jpeg-7/jdmarker.c +1360 -0
  181. data/src/jpeg-7/jdmaster.c +663 -0
  182. data/src/jpeg-7/jdmerge.c +400 -0
  183. data/src/jpeg-7/jdpostct.c +290 -0
  184. data/src/jpeg-7/jdsample.c +361 -0
  185. data/src/jpeg-7/jdtrans.c +136 -0
  186. data/src/jpeg-7/jerror.c +252 -0
  187. data/src/jpeg-7/jerror.h +304 -0
  188. data/src/jpeg-7/jfdctflt.c +174 -0
  189. data/src/jpeg-7/jfdctfst.c +230 -0
  190. data/src/jpeg-7/jfdctint.c +4348 -0
  191. data/src/jpeg-7/jidctflt.c +242 -0
  192. data/src/jpeg-7/jidctfst.c +368 -0
  193. data/src/jpeg-7/jidctint.c +5137 -0
  194. data/src/jpeg-7/jinclude.h +91 -0
  195. data/src/jpeg-7/jmemansi.c +167 -0
  196. data/src/jpeg-7/jmemdos.c +638 -0
  197. data/src/jpeg-7/jmemdosa.asm +379 -0
  198. data/src/jpeg-7/jmemmac.c +289 -0
  199. data/src/jpeg-7/jmemmgr.c +1118 -0
  200. data/src/jpeg-7/jmemname.c +276 -0
  201. data/src/jpeg-7/jmemnobs.c +109 -0
  202. data/src/jpeg-7/jmemsys.h +198 -0
  203. data/src/jpeg-7/jmorecfg.h +369 -0
  204. data/src/jpeg-7/jpegint.h +395 -0
  205. data/src/jpeg-7/jpeglib.h +1135 -0
  206. data/src/jpeg-7/jpegtran.1 +272 -0
  207. data/src/jpeg-7/jpegtran.c +546 -0
  208. data/src/jpeg-7/jquant1.c +856 -0
  209. data/src/jpeg-7/jquant2.c +1310 -0
  210. data/src/jpeg-7/jutils.c +179 -0
  211. data/src/jpeg-7/jversion.h +14 -0
  212. data/src/jpeg-7/libjpeg.map +4 -0
  213. data/src/jpeg-7/libjpeg.txt +3067 -0
  214. data/src/jpeg-7/ltmain.sh +8406 -0
  215. data/src/jpeg-7/makcjpeg.st +36 -0
  216. data/src/jpeg-7/makdjpeg.st +36 -0
  217. data/src/jpeg-7/makeadsw.vc6 +77 -0
  218. data/src/jpeg-7/makeasln.vc9 +33 -0
  219. data/src/jpeg-7/makecdep.vc6 +82 -0
  220. data/src/jpeg-7/makecdsp.vc6 +130 -0
  221. data/src/jpeg-7/makecmak.vc6 +159 -0
  222. data/src/jpeg-7/makecvcp.vc9 +186 -0
  223. data/src/jpeg-7/makeddep.vc6 +82 -0
  224. data/src/jpeg-7/makeddsp.vc6 +130 -0
  225. data/src/jpeg-7/makedmak.vc6 +159 -0
  226. data/src/jpeg-7/makedvcp.vc9 +186 -0
  227. data/src/jpeg-7/makefile.ansi +220 -0
  228. data/src/jpeg-7/makefile.bcc +291 -0
  229. data/src/jpeg-7/makefile.dj +226 -0
  230. data/src/jpeg-7/makefile.manx +220 -0
  231. data/src/jpeg-7/makefile.mc6 +255 -0
  232. data/src/jpeg-7/makefile.mms +224 -0
  233. data/src/jpeg-7/makefile.sas +258 -0
  234. data/src/jpeg-7/makefile.unix +234 -0
  235. data/src/jpeg-7/makefile.vc +217 -0
  236. data/src/jpeg-7/makefile.vms +142 -0
  237. data/src/jpeg-7/makefile.wat +239 -0
  238. data/src/jpeg-7/makejdep.vc6 +423 -0
  239. data/src/jpeg-7/makejdsp.vc6 +285 -0
  240. data/src/jpeg-7/makejdsw.vc6 +29 -0
  241. data/src/jpeg-7/makejmak.vc6 +425 -0
  242. data/src/jpeg-7/makejsln.vc9 +17 -0
  243. data/src/jpeg-7/makejvcp.vc9 +328 -0
  244. data/src/jpeg-7/makeproj.mac +213 -0
  245. data/src/jpeg-7/makerdep.vc6 +6 -0
  246. data/src/jpeg-7/makerdsp.vc6 +78 -0
  247. data/src/jpeg-7/makermak.vc6 +110 -0
  248. data/src/jpeg-7/makervcp.vc9 +133 -0
  249. data/src/jpeg-7/maketdep.vc6 +43 -0
  250. data/src/jpeg-7/maketdsp.vc6 +122 -0
  251. data/src/jpeg-7/maketmak.vc6 +131 -0
  252. data/src/jpeg-7/maketvcp.vc9 +178 -0
  253. data/src/jpeg-7/makewdep.vc6 +6 -0
  254. data/src/jpeg-7/makewdsp.vc6 +78 -0
  255. data/src/jpeg-7/makewmak.vc6 +110 -0
  256. data/src/jpeg-7/makewvcp.vc9 +133 -0
  257. data/src/jpeg-7/makljpeg.st +68 -0
  258. data/src/jpeg-7/maktjpeg.st +30 -0
  259. data/src/jpeg-7/makvms.opt +4 -0
  260. data/src/jpeg-7/missing +376 -0
  261. data/src/jpeg-7/rdbmp.c +439 -0
  262. data/src/jpeg-7/rdcolmap.c +253 -0
  263. data/src/jpeg-7/rdgif.c +38 -0
  264. data/src/jpeg-7/rdjpgcom.1 +63 -0
  265. data/src/jpeg-7/rdjpgcom.c +515 -0
  266. data/src/jpeg-7/rdppm.c +459 -0
  267. data/src/jpeg-7/rdrle.c +387 -0
  268. data/src/jpeg-7/rdswitch.c +365 -0
  269. data/src/jpeg-7/rdtarga.c +500 -0
  270. data/src/jpeg-7/structure.txt +945 -0
  271. data/src/jpeg-7/testimg.bmp +0 -0
  272. data/src/jpeg-7/testimg.jpg +0 -0
  273. data/src/jpeg-7/testimg.ppm +4 -0
  274. data/src/jpeg-7/testimgp.jpg +0 -0
  275. data/src/jpeg-7/testorig.jpg +0 -0
  276. data/src/jpeg-7/testprog.jpg +0 -0
  277. data/src/jpeg-7/transupp.c +1533 -0
  278. data/src/jpeg-7/transupp.h +205 -0
  279. data/src/jpeg-7/usage.txt +605 -0
  280. data/src/jpeg-7/wizard.txt +211 -0
  281. data/src/jpeg-7/wrbmp.c +442 -0
  282. data/src/jpeg-7/wrgif.c +399 -0
  283. data/src/jpeg-7/wrjpgcom.1 +103 -0
  284. data/src/jpeg-7/wrjpgcom.c +583 -0
  285. data/src/jpeg-7/wrppm.c +269 -0
  286. data/src/jpeg-7/wrrle.c +305 -0
  287. data/src/jpeg-7/wrtarga.c +253 -0
  288. metadata +287 -6
  289. data/LICENSE +0 -20
  290. data/VERSION.yml +0 -4
@@ -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
+ }
@@ -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 */