isbn 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/{README → README.md} +5 -11
- data/Rakefile +20 -14
- data/isbn.gemspec +23 -0
- data/lib/isbn.rb +2 -0
- data/test/isbn_spec.rb +1 -1
- metadata +29 -316
- data/VERSION +0 -1
- data/src/gocr-0.48/.cvsignore +0 -6
- data/src/gocr-0.48/AUTHORS +0 -7
- data/src/gocr-0.48/BUGS +0 -55
- data/src/gocr-0.48/CREDITS +0 -17
- data/src/gocr-0.48/HISTORY +0 -243
- data/src/gocr-0.48/INSTALL +0 -83
- data/src/gocr-0.48/Makefile +0 -193
- data/src/gocr-0.48/Makefile.in +0 -193
- data/src/gocr-0.48/README +0 -165
- data/src/gocr-0.48/READMEde.txt +0 -80
- data/src/gocr-0.48/REMARK.txt +0 -18
- data/src/gocr-0.48/REVIEW +0 -538
- data/src/gocr-0.48/TODO +0 -65
- data/src/gocr-0.48/bin/.cvsignore +0 -2
- data/src/gocr-0.48/bin/create_db +0 -38
- data/src/gocr-0.48/bin/gocr.tcl +0 -527
- data/src/gocr-0.48/bin/gocr_chk.sh +0 -44
- data/src/gocr-0.48/configure +0 -4689
- data/src/gocr-0.48/configure.in +0 -71
- data/src/gocr-0.48/doc/.#Makefile.1.6 +0 -39
- data/src/gocr-0.48/doc/.cvsignore +0 -2
- data/src/gocr-0.48/doc/Makefile +0 -39
- data/src/gocr-0.48/doc/Makefile.in +0 -39
- data/src/gocr-0.48/doc/example.dtd +0 -53
- data/src/gocr-0.48/doc/example.xml +0 -21
- data/src/gocr-0.48/doc/examples.txt +0 -67
- data/src/gocr-0.48/doc/gocr.html +0 -578
- data/src/gocr-0.48/doc/unicode.txt +0 -57
- data/src/gocr-0.48/examples/.#Makefile.1.22 +0 -166
- data/src/gocr-0.48/examples/4x6.png +0 -0
- data/src/gocr-0.48/examples/4x6.txt +0 -2
- data/src/gocr-0.48/examples/5x7.png +0 -0
- data/src/gocr-0.48/examples/5x7.png.txt +0 -2
- data/src/gocr-0.48/examples/5x8.png +0 -0
- data/src/gocr-0.48/examples/5x8.png.txt +0 -2
- data/src/gocr-0.48/examples/Makefile +0 -166
- data/src/gocr-0.48/examples/color.fig +0 -20
- data/src/gocr-0.48/examples/ex.fig +0 -16
- data/src/gocr-0.48/examples/font.tex +0 -22
- data/src/gocr-0.48/examples/font1.tex +0 -46
- data/src/gocr-0.48/examples/font2.fig +0 -27
- data/src/gocr-0.48/examples/font_nw.tex +0 -24
- data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
- data/src/gocr-0.48/examples/handwrt1.txt +0 -10
- data/src/gocr-0.48/examples/inverse.fig +0 -20
- 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 +0 -4
- data/src/gocr-0.48/examples/ocr-a.png +0 -0
- data/src/gocr-0.48/examples/ocr-a.txt +0 -6
- data/src/gocr-0.48/examples/ocr-b.png +0 -0
- data/src/gocr-0.48/examples/ocr-b.png.txt +0 -4
- data/src/gocr-0.48/examples/polish.tex +0 -28
- data/src/gocr-0.48/examples/rotate45.fig +0 -14
- data/src/gocr-0.48/examples/score +0 -36
- data/src/gocr-0.48/examples/text.tex +0 -28
- data/src/gocr-0.48/gpl.html +0 -537
- data/src/gocr-0.48/include/.cvsignore +0 -2
- data/src/gocr-0.48/include/config.h +0 -36
- data/src/gocr-0.48/include/config.h.in +0 -36
- data/src/gocr-0.48/include/version.h +0 -2
- data/src/gocr-0.48/install-sh +0 -3
- data/src/gocr-0.48/make.bat +0 -57
- data/src/gocr-0.48/man/.cvsignore +0 -2
- data/src/gocr-0.48/man/Makefile +0 -29
- data/src/gocr-0.48/man/Makefile.in +0 -29
- data/src/gocr-0.48/man/man1/gocr.1 +0 -166
- data/src/gocr-0.48/src/.cvsignore +0 -4
- data/src/gocr-0.48/src/Makefile +0 -132
- data/src/gocr-0.48/src/Makefile.in +0 -132
- data/src/gocr-0.48/src/amiga.h +0 -31
- data/src/gocr-0.48/src/barcode.c +0 -846
- data/src/gocr-0.48/src/barcode.c.orig +0 -593
- data/src/gocr-0.48/src/barcode.h +0 -11
- data/src/gocr-0.48/src/box.c +0 -372
- data/src/gocr-0.48/src/database.c +0 -462
- data/src/gocr-0.48/src/detect.c +0 -943
- data/src/gocr-0.48/src/gocr.c +0 -373
- data/src/gocr-0.48/src/gocr.h +0 -288
- data/src/gocr-0.48/src/jconv.c +0 -168
- data/src/gocr-0.48/src/job.c +0 -84
- data/src/gocr-0.48/src/lines.c +0 -350
- data/src/gocr-0.48/src/list.c +0 -334
- data/src/gocr-0.48/src/list.h +0 -90
- data/src/gocr-0.48/src/ocr0.c +0 -6756
- data/src/gocr-0.48/src/ocr0.h +0 -63
- data/src/gocr-0.48/src/ocr0n.c +0 -1475
- data/src/gocr-0.48/src/ocr1.c +0 -85
- data/src/gocr-0.48/src/ocr1.h +0 -3
- data/src/gocr-0.48/src/otsu.c +0 -289
- data/src/gocr-0.48/src/otsu.h +0 -23
- data/src/gocr-0.48/src/output.c +0 -289
- data/src/gocr-0.48/src/output.h +0 -37
- data/src/gocr-0.48/src/pcx.c +0 -153
- data/src/gocr-0.48/src/pcx.h +0 -9
- data/src/gocr-0.48/src/pgm2asc.c +0 -2893
- data/src/gocr-0.48/src/pgm2asc.h +0 -105
- data/src/gocr-0.48/src/pixel.c +0 -537
- data/src/gocr-0.48/src/pnm.c +0 -533
- data/src/gocr-0.48/src/pnm.h +0 -35
- data/src/gocr-0.48/src/progress.c +0 -87
- data/src/gocr-0.48/src/progress.h +0 -42
- data/src/gocr-0.48/src/remove.c +0 -703
- data/src/gocr-0.48/src/tga.c +0 -87
- data/src/gocr-0.48/src/tga.h +0 -6
- data/src/gocr-0.48/src/unicode.c +0 -1314
- data/src/gocr-0.48/src/unicode.h +0 -1257
- data/src/jpeg-7/Makefile.am +0 -133
- data/src/jpeg-7/Makefile.in +0 -1089
- data/src/jpeg-7/README +0 -322
- data/src/jpeg-7/aclocal.m4 +0 -8990
- data/src/jpeg-7/ansi2knr.1 +0 -36
- data/src/jpeg-7/ansi2knr.c +0 -739
- data/src/jpeg-7/cderror.h +0 -132
- data/src/jpeg-7/cdjpeg.c +0 -181
- data/src/jpeg-7/cdjpeg.h +0 -187
- data/src/jpeg-7/change.log +0 -270
- data/src/jpeg-7/cjpeg.1 +0 -325
- data/src/jpeg-7/cjpeg.c +0 -616
- data/src/jpeg-7/ckconfig.c +0 -402
- data/src/jpeg-7/coderules.txt +0 -118
- data/src/jpeg-7/config.guess +0 -1561
- data/src/jpeg-7/config.sub +0 -1686
- data/src/jpeg-7/configure +0 -17139
- data/src/jpeg-7/configure.ac +0 -317
- data/src/jpeg-7/depcomp +0 -630
- data/src/jpeg-7/djpeg.1 +0 -251
- data/src/jpeg-7/djpeg.c +0 -617
- data/src/jpeg-7/example.c +0 -433
- data/src/jpeg-7/filelist.txt +0 -215
- data/src/jpeg-7/install-sh +0 -520
- data/src/jpeg-7/install.txt +0 -1097
- data/src/jpeg-7/jaricom.c +0 -148
- data/src/jpeg-7/jcapimin.c +0 -282
- data/src/jpeg-7/jcapistd.c +0 -161
- data/src/jpeg-7/jcarith.c +0 -921
- data/src/jpeg-7/jccoefct.c +0 -453
- data/src/jpeg-7/jccolor.c +0 -459
- data/src/jpeg-7/jcdctmgr.c +0 -482
- data/src/jpeg-7/jchuff.c +0 -1612
- data/src/jpeg-7/jcinit.c +0 -65
- data/src/jpeg-7/jcmainct.c +0 -293
- data/src/jpeg-7/jcmarker.c +0 -667
- data/src/jpeg-7/jcmaster.c +0 -770
- data/src/jpeg-7/jcomapi.c +0 -106
- data/src/jpeg-7/jconfig.bcc +0 -48
- data/src/jpeg-7/jconfig.cfg +0 -45
- data/src/jpeg-7/jconfig.dj +0 -38
- data/src/jpeg-7/jconfig.mac +0 -43
- data/src/jpeg-7/jconfig.manx +0 -43
- data/src/jpeg-7/jconfig.mc6 +0 -52
- data/src/jpeg-7/jconfig.sas +0 -43
- data/src/jpeg-7/jconfig.st +0 -42
- data/src/jpeg-7/jconfig.txt +0 -155
- data/src/jpeg-7/jconfig.vc +0 -45
- data/src/jpeg-7/jconfig.vms +0 -37
- data/src/jpeg-7/jconfig.wat +0 -38
- data/src/jpeg-7/jcparam.c +0 -632
- data/src/jpeg-7/jcprepct.c +0 -358
- data/src/jpeg-7/jcsample.c +0 -545
- data/src/jpeg-7/jctrans.c +0 -381
- data/src/jpeg-7/jdapimin.c +0 -396
- data/src/jpeg-7/jdapistd.c +0 -275
- data/src/jpeg-7/jdarith.c +0 -762
- data/src/jpeg-7/jdatadst.c +0 -151
- data/src/jpeg-7/jdatasrc.c +0 -212
- data/src/jpeg-7/jdcoefct.c +0 -736
- data/src/jpeg-7/jdcolor.c +0 -396
- data/src/jpeg-7/jdct.h +0 -393
- data/src/jpeg-7/jddctmgr.c +0 -382
- data/src/jpeg-7/jdhuff.c +0 -1309
- data/src/jpeg-7/jdinput.c +0 -384
- data/src/jpeg-7/jdmainct.c +0 -512
- data/src/jpeg-7/jdmarker.c +0 -1360
- data/src/jpeg-7/jdmaster.c +0 -663
- data/src/jpeg-7/jdmerge.c +0 -400
- data/src/jpeg-7/jdpostct.c +0 -290
- data/src/jpeg-7/jdsample.c +0 -361
- data/src/jpeg-7/jdtrans.c +0 -136
- data/src/jpeg-7/jerror.c +0 -252
- data/src/jpeg-7/jerror.h +0 -304
- data/src/jpeg-7/jfdctflt.c +0 -174
- data/src/jpeg-7/jfdctfst.c +0 -230
- data/src/jpeg-7/jfdctint.c +0 -4348
- data/src/jpeg-7/jidctflt.c +0 -242
- data/src/jpeg-7/jidctfst.c +0 -368
- data/src/jpeg-7/jidctint.c +0 -5137
- data/src/jpeg-7/jinclude.h +0 -91
- data/src/jpeg-7/jmemansi.c +0 -167
- data/src/jpeg-7/jmemdos.c +0 -638
- data/src/jpeg-7/jmemdosa.asm +0 -379
- data/src/jpeg-7/jmemmac.c +0 -289
- data/src/jpeg-7/jmemmgr.c +0 -1118
- data/src/jpeg-7/jmemname.c +0 -276
- data/src/jpeg-7/jmemnobs.c +0 -109
- data/src/jpeg-7/jmemsys.h +0 -198
- data/src/jpeg-7/jmorecfg.h +0 -369
- data/src/jpeg-7/jpegint.h +0 -395
- data/src/jpeg-7/jpeglib.h +0 -1135
- data/src/jpeg-7/jpegtran.1 +0 -272
- data/src/jpeg-7/jpegtran.c +0 -546
- data/src/jpeg-7/jquant1.c +0 -856
- data/src/jpeg-7/jquant2.c +0 -1310
- data/src/jpeg-7/jutils.c +0 -179
- data/src/jpeg-7/jversion.h +0 -14
- data/src/jpeg-7/libjpeg.map +0 -4
- data/src/jpeg-7/libjpeg.txt +0 -3067
- data/src/jpeg-7/ltmain.sh +0 -8406
- data/src/jpeg-7/makcjpeg.st +0 -36
- data/src/jpeg-7/makdjpeg.st +0 -36
- data/src/jpeg-7/makeadsw.vc6 +0 -77
- data/src/jpeg-7/makeasln.vc9 +0 -33
- data/src/jpeg-7/makecdep.vc6 +0 -82
- data/src/jpeg-7/makecdsp.vc6 +0 -130
- data/src/jpeg-7/makecmak.vc6 +0 -159
- data/src/jpeg-7/makecvcp.vc9 +0 -186
- data/src/jpeg-7/makeddep.vc6 +0 -82
- data/src/jpeg-7/makeddsp.vc6 +0 -130
- data/src/jpeg-7/makedmak.vc6 +0 -159
- data/src/jpeg-7/makedvcp.vc9 +0 -186
- data/src/jpeg-7/makefile.ansi +0 -220
- data/src/jpeg-7/makefile.bcc +0 -291
- data/src/jpeg-7/makefile.dj +0 -226
- data/src/jpeg-7/makefile.manx +0 -220
- data/src/jpeg-7/makefile.mc6 +0 -255
- data/src/jpeg-7/makefile.mms +0 -224
- data/src/jpeg-7/makefile.sas +0 -258
- data/src/jpeg-7/makefile.unix +0 -234
- data/src/jpeg-7/makefile.vc +0 -217
- data/src/jpeg-7/makefile.vms +0 -142
- data/src/jpeg-7/makefile.wat +0 -239
- data/src/jpeg-7/makejdep.vc6 +0 -423
- data/src/jpeg-7/makejdsp.vc6 +0 -285
- data/src/jpeg-7/makejdsw.vc6 +0 -29
- data/src/jpeg-7/makejmak.vc6 +0 -425
- data/src/jpeg-7/makejsln.vc9 +0 -17
- data/src/jpeg-7/makejvcp.vc9 +0 -328
- data/src/jpeg-7/makeproj.mac +0 -213
- data/src/jpeg-7/makerdep.vc6 +0 -6
- data/src/jpeg-7/makerdsp.vc6 +0 -78
- data/src/jpeg-7/makermak.vc6 +0 -110
- data/src/jpeg-7/makervcp.vc9 +0 -133
- data/src/jpeg-7/maketdep.vc6 +0 -43
- data/src/jpeg-7/maketdsp.vc6 +0 -122
- data/src/jpeg-7/maketmak.vc6 +0 -131
- data/src/jpeg-7/maketvcp.vc9 +0 -178
- data/src/jpeg-7/makewdep.vc6 +0 -6
- data/src/jpeg-7/makewdsp.vc6 +0 -78
- data/src/jpeg-7/makewmak.vc6 +0 -110
- data/src/jpeg-7/makewvcp.vc9 +0 -133
- data/src/jpeg-7/makljpeg.st +0 -68
- data/src/jpeg-7/maktjpeg.st +0 -30
- data/src/jpeg-7/makvms.opt +0 -4
- data/src/jpeg-7/missing +0 -376
- data/src/jpeg-7/rdbmp.c +0 -439
- data/src/jpeg-7/rdcolmap.c +0 -253
- data/src/jpeg-7/rdgif.c +0 -38
- data/src/jpeg-7/rdjpgcom.1 +0 -63
- data/src/jpeg-7/rdjpgcom.c +0 -515
- data/src/jpeg-7/rdppm.c +0 -459
- data/src/jpeg-7/rdrle.c +0 -387
- data/src/jpeg-7/rdswitch.c +0 -365
- data/src/jpeg-7/rdtarga.c +0 -500
- data/src/jpeg-7/structure.txt +0 -945
- data/src/jpeg-7/testimg.bmp +0 -0
- data/src/jpeg-7/testimg.jpg +0 -0
- data/src/jpeg-7/testimg.ppm +0 -4
- 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 +0 -1533
- data/src/jpeg-7/transupp.h +0 -205
- data/src/jpeg-7/usage.txt +0 -605
- data/src/jpeg-7/wizard.txt +0 -211
- data/src/jpeg-7/wrbmp.c +0 -442
- data/src/jpeg-7/wrgif.c +0 -399
- data/src/jpeg-7/wrjpgcom.1 +0 -103
- data/src/jpeg-7/wrjpgcom.c +0 -583
- data/src/jpeg-7/wrppm.c +0 -269
- data/src/jpeg-7/wrrle.c +0 -305
- data/src/jpeg-7/wrtarga.c +0 -253
data/src/jpeg-7/jmemdosa.asm
DELETED
@@ -1,379 +0,0 @@
|
|
1
|
-
;
|
2
|
-
; jmemdosa.asm
|
3
|
-
;
|
4
|
-
; Copyright (C) 1992, 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 low-level interface routines to support the MS-DOS
|
9
|
-
; backing store manager (jmemdos.c). Routines are provided to access disk
|
10
|
-
; files through direct DOS calls, and to access XMS and EMS drivers.
|
11
|
-
;
|
12
|
-
; This file should assemble with Microsoft's MASM or any compatible
|
13
|
-
; assembler (including Borland's Turbo Assembler). If you haven't got
|
14
|
-
; a compatible assembler, better fall back to jmemansi.c or jmemname.c.
|
15
|
-
;
|
16
|
-
; To minimize dependence on the C compiler's register usage conventions,
|
17
|
-
; we save and restore all 8086 registers, even though most compilers only
|
18
|
-
; require SI,DI,DS to be preserved. Also, we use only 16-bit-wide return
|
19
|
-
; values, which everybody returns in AX.
|
20
|
-
;
|
21
|
-
; Based on code contributed by Ge' Weijers.
|
22
|
-
;
|
23
|
-
|
24
|
-
JMEMDOSA_TXT segment byte public 'CODE'
|
25
|
-
|
26
|
-
assume cs:JMEMDOSA_TXT
|
27
|
-
|
28
|
-
public _jdos_open
|
29
|
-
public _jdos_close
|
30
|
-
public _jdos_seek
|
31
|
-
public _jdos_read
|
32
|
-
public _jdos_write
|
33
|
-
public _jxms_getdriver
|
34
|
-
public _jxms_calldriver
|
35
|
-
public _jems_available
|
36
|
-
public _jems_calldriver
|
37
|
-
|
38
|
-
;
|
39
|
-
; short far jdos_open (short far * handle, char far * filename)
|
40
|
-
;
|
41
|
-
; Create and open a temporary file
|
42
|
-
;
|
43
|
-
_jdos_open proc far
|
44
|
-
push bp ; linkage
|
45
|
-
mov bp,sp
|
46
|
-
push si ; save all registers for safety
|
47
|
-
push di
|
48
|
-
push bx
|
49
|
-
push cx
|
50
|
-
push dx
|
51
|
-
push es
|
52
|
-
push ds
|
53
|
-
mov cx,0 ; normal file attributes
|
54
|
-
lds dx,dword ptr [bp+10] ; get filename pointer
|
55
|
-
mov ah,3ch ; create file
|
56
|
-
int 21h
|
57
|
-
jc open_err ; if failed, return error code
|
58
|
-
lds bx,dword ptr [bp+6] ; get handle pointer
|
59
|
-
mov word ptr [bx],ax ; save the handle
|
60
|
-
xor ax,ax ; return zero for OK
|
61
|
-
open_err: pop ds ; restore registers and exit
|
62
|
-
pop es
|
63
|
-
pop dx
|
64
|
-
pop cx
|
65
|
-
pop bx
|
66
|
-
pop di
|
67
|
-
pop si
|
68
|
-
pop bp
|
69
|
-
ret
|
70
|
-
_jdos_open endp
|
71
|
-
|
72
|
-
|
73
|
-
;
|
74
|
-
; short far jdos_close (short handle)
|
75
|
-
;
|
76
|
-
; Close the file handle
|
77
|
-
;
|
78
|
-
_jdos_close proc far
|
79
|
-
push bp ; linkage
|
80
|
-
mov bp,sp
|
81
|
-
push si ; save all registers for safety
|
82
|
-
push di
|
83
|
-
push bx
|
84
|
-
push cx
|
85
|
-
push dx
|
86
|
-
push es
|
87
|
-
push ds
|
88
|
-
mov bx,word ptr [bp+6] ; file handle
|
89
|
-
mov ah,3eh ; close file
|
90
|
-
int 21h
|
91
|
-
jc close_err ; if failed, return error code
|
92
|
-
xor ax,ax ; return zero for OK
|
93
|
-
close_err: pop ds ; restore registers and exit
|
94
|
-
pop es
|
95
|
-
pop dx
|
96
|
-
pop cx
|
97
|
-
pop bx
|
98
|
-
pop di
|
99
|
-
pop si
|
100
|
-
pop bp
|
101
|
-
ret
|
102
|
-
_jdos_close endp
|
103
|
-
|
104
|
-
|
105
|
-
;
|
106
|
-
; short far jdos_seek (short handle, long offset)
|
107
|
-
;
|
108
|
-
; Set file position
|
109
|
-
;
|
110
|
-
_jdos_seek proc far
|
111
|
-
push bp ; linkage
|
112
|
-
mov bp,sp
|
113
|
-
push si ; save all registers for safety
|
114
|
-
push di
|
115
|
-
push bx
|
116
|
-
push cx
|
117
|
-
push dx
|
118
|
-
push es
|
119
|
-
push ds
|
120
|
-
mov bx,word ptr [bp+6] ; file handle
|
121
|
-
mov dx,word ptr [bp+8] ; LS offset
|
122
|
-
mov cx,word ptr [bp+10] ; MS offset
|
123
|
-
mov ax,4200h ; absolute seek
|
124
|
-
int 21h
|
125
|
-
jc seek_err ; if failed, return error code
|
126
|
-
xor ax,ax ; return zero for OK
|
127
|
-
seek_err: pop ds ; restore registers and exit
|
128
|
-
pop es
|
129
|
-
pop dx
|
130
|
-
pop cx
|
131
|
-
pop bx
|
132
|
-
pop di
|
133
|
-
pop si
|
134
|
-
pop bp
|
135
|
-
ret
|
136
|
-
_jdos_seek endp
|
137
|
-
|
138
|
-
|
139
|
-
;
|
140
|
-
; short far jdos_read (short handle, void far * buffer, unsigned short count)
|
141
|
-
;
|
142
|
-
; Read from file
|
143
|
-
;
|
144
|
-
_jdos_read proc far
|
145
|
-
push bp ; linkage
|
146
|
-
mov bp,sp
|
147
|
-
push si ; save all registers for safety
|
148
|
-
push di
|
149
|
-
push bx
|
150
|
-
push cx
|
151
|
-
push dx
|
152
|
-
push es
|
153
|
-
push ds
|
154
|
-
mov bx,word ptr [bp+6] ; file handle
|
155
|
-
lds dx,dword ptr [bp+8] ; buffer address
|
156
|
-
mov cx,word ptr [bp+12] ; number of bytes
|
157
|
-
mov ah,3fh ; read file
|
158
|
-
int 21h
|
159
|
-
jc read_err ; if failed, return error code
|
160
|
-
cmp ax,word ptr [bp+12] ; make sure all bytes were read
|
161
|
-
je read_ok
|
162
|
-
mov ax,1 ; else return 1 for not OK
|
163
|
-
jmp short read_err
|
164
|
-
read_ok: xor ax,ax ; return zero for OK
|
165
|
-
read_err: pop ds ; restore registers and exit
|
166
|
-
pop es
|
167
|
-
pop dx
|
168
|
-
pop cx
|
169
|
-
pop bx
|
170
|
-
pop di
|
171
|
-
pop si
|
172
|
-
pop bp
|
173
|
-
ret
|
174
|
-
_jdos_read endp
|
175
|
-
|
176
|
-
|
177
|
-
;
|
178
|
-
; short far jdos_write (short handle, void far * buffer, unsigned short count)
|
179
|
-
;
|
180
|
-
; Write to file
|
181
|
-
;
|
182
|
-
_jdos_write proc far
|
183
|
-
push bp ; linkage
|
184
|
-
mov bp,sp
|
185
|
-
push si ; save all registers for safety
|
186
|
-
push di
|
187
|
-
push bx
|
188
|
-
push cx
|
189
|
-
push dx
|
190
|
-
push es
|
191
|
-
push ds
|
192
|
-
mov bx,word ptr [bp+6] ; file handle
|
193
|
-
lds dx,dword ptr [bp+8] ; buffer address
|
194
|
-
mov cx,word ptr [bp+12] ; number of bytes
|
195
|
-
mov ah,40h ; write file
|
196
|
-
int 21h
|
197
|
-
jc write_err ; if failed, return error code
|
198
|
-
cmp ax,word ptr [bp+12] ; make sure all bytes written
|
199
|
-
je write_ok
|
200
|
-
mov ax,1 ; else return 1 for not OK
|
201
|
-
jmp short write_err
|
202
|
-
write_ok: xor ax,ax ; return zero for OK
|
203
|
-
write_err: pop ds ; restore registers and exit
|
204
|
-
pop es
|
205
|
-
pop dx
|
206
|
-
pop cx
|
207
|
-
pop bx
|
208
|
-
pop di
|
209
|
-
pop si
|
210
|
-
pop bp
|
211
|
-
ret
|
212
|
-
_jdos_write endp
|
213
|
-
|
214
|
-
|
215
|
-
;
|
216
|
-
; void far jxms_getdriver (XMSDRIVER far *)
|
217
|
-
;
|
218
|
-
; Get the address of the XMS driver, or NULL if not available
|
219
|
-
;
|
220
|
-
_jxms_getdriver proc far
|
221
|
-
push bp ; linkage
|
222
|
-
mov bp,sp
|
223
|
-
push si ; save all registers for safety
|
224
|
-
push di
|
225
|
-
push bx
|
226
|
-
push cx
|
227
|
-
push dx
|
228
|
-
push es
|
229
|
-
push ds
|
230
|
-
mov ax,4300h ; call multiplex interrupt with
|
231
|
-
int 2fh ; a magic cookie, hex 4300
|
232
|
-
cmp al,80h ; AL should contain hex 80
|
233
|
-
je xmsavail
|
234
|
-
xor dx,dx ; no XMS driver available
|
235
|
-
xor ax,ax ; return a nil pointer
|
236
|
-
jmp short xmsavail_done
|
237
|
-
xmsavail: mov ax,4310h ; fetch driver address with
|
238
|
-
int 2fh ; another magic cookie
|
239
|
-
mov dx,es ; copy address to dx:ax
|
240
|
-
mov ax,bx
|
241
|
-
xmsavail_done: les bx,dword ptr [bp+6] ; get pointer to return value
|
242
|
-
mov word ptr es:[bx],ax
|
243
|
-
mov word ptr es:[bx+2],dx
|
244
|
-
pop ds ; restore registers and exit
|
245
|
-
pop es
|
246
|
-
pop dx
|
247
|
-
pop cx
|
248
|
-
pop bx
|
249
|
-
pop di
|
250
|
-
pop si
|
251
|
-
pop bp
|
252
|
-
ret
|
253
|
-
_jxms_getdriver endp
|
254
|
-
|
255
|
-
|
256
|
-
;
|
257
|
-
; void far jxms_calldriver (XMSDRIVER, XMScontext far *)
|
258
|
-
;
|
259
|
-
; The XMScontext structure contains values for the AX,DX,BX,SI,DS registers.
|
260
|
-
; These are loaded, the XMS call is performed, and the new values of the
|
261
|
-
; AX,DX,BX registers are written back to the context structure.
|
262
|
-
;
|
263
|
-
_jxms_calldriver proc far
|
264
|
-
push bp ; linkage
|
265
|
-
mov bp,sp
|
266
|
-
push si ; save all registers for safety
|
267
|
-
push di
|
268
|
-
push bx
|
269
|
-
push cx
|
270
|
-
push dx
|
271
|
-
push es
|
272
|
-
push ds
|
273
|
-
les bx,dword ptr [bp+10] ; get XMScontext pointer
|
274
|
-
mov ax,word ptr es:[bx] ; load registers
|
275
|
-
mov dx,word ptr es:[bx+2]
|
276
|
-
mov si,word ptr es:[bx+6]
|
277
|
-
mov ds,word ptr es:[bx+8]
|
278
|
-
mov bx,word ptr es:[bx+4]
|
279
|
-
call dword ptr [bp+6] ; call the driver
|
280
|
-
mov cx,bx ; save returned BX for a sec
|
281
|
-
les bx,dword ptr [bp+10] ; get XMScontext pointer
|
282
|
-
mov word ptr es:[bx],ax ; put back ax,dx,bx
|
283
|
-
mov word ptr es:[bx+2],dx
|
284
|
-
mov word ptr es:[bx+4],cx
|
285
|
-
pop ds ; restore registers and exit
|
286
|
-
pop es
|
287
|
-
pop dx
|
288
|
-
pop cx
|
289
|
-
pop bx
|
290
|
-
pop di
|
291
|
-
pop si
|
292
|
-
pop bp
|
293
|
-
ret
|
294
|
-
_jxms_calldriver endp
|
295
|
-
|
296
|
-
|
297
|
-
;
|
298
|
-
; short far jems_available (void)
|
299
|
-
;
|
300
|
-
; Have we got an EMS driver? (this comes straight from the EMS 4.0 specs)
|
301
|
-
;
|
302
|
-
_jems_available proc far
|
303
|
-
push si ; save all registers for safety
|
304
|
-
push di
|
305
|
-
push bx
|
306
|
-
push cx
|
307
|
-
push dx
|
308
|
-
push es
|
309
|
-
push ds
|
310
|
-
mov ax,3567h ; get interrupt vector 67h
|
311
|
-
int 21h
|
312
|
-
push cs
|
313
|
-
pop ds
|
314
|
-
mov di,000ah ; check offs 10 in returned seg
|
315
|
-
lea si,ASCII_device_name ; against literal string
|
316
|
-
mov cx,8
|
317
|
-
cld
|
318
|
-
repe cmpsb
|
319
|
-
jne no_ems
|
320
|
-
mov ax,1 ; match, it's there
|
321
|
-
jmp short avail_done
|
322
|
-
no_ems: xor ax,ax ; it's not there
|
323
|
-
avail_done: pop ds ; restore registers and exit
|
324
|
-
pop es
|
325
|
-
pop dx
|
326
|
-
pop cx
|
327
|
-
pop bx
|
328
|
-
pop di
|
329
|
-
pop si
|
330
|
-
ret
|
331
|
-
|
332
|
-
ASCII_device_name db "EMMXXXX0"
|
333
|
-
|
334
|
-
_jems_available endp
|
335
|
-
|
336
|
-
|
337
|
-
;
|
338
|
-
; void far jems_calldriver (EMScontext far *)
|
339
|
-
;
|
340
|
-
; The EMScontext structure contains values for the AX,DX,BX,SI,DS registers.
|
341
|
-
; These are loaded, the EMS trap is performed, and the new values of the
|
342
|
-
; AX,DX,BX registers are written back to the context structure.
|
343
|
-
;
|
344
|
-
_jems_calldriver proc far
|
345
|
-
push bp ; linkage
|
346
|
-
mov bp,sp
|
347
|
-
push si ; save all registers for safety
|
348
|
-
push di
|
349
|
-
push bx
|
350
|
-
push cx
|
351
|
-
push dx
|
352
|
-
push es
|
353
|
-
push ds
|
354
|
-
les bx,dword ptr [bp+6] ; get EMScontext pointer
|
355
|
-
mov ax,word ptr es:[bx] ; load registers
|
356
|
-
mov dx,word ptr es:[bx+2]
|
357
|
-
mov si,word ptr es:[bx+6]
|
358
|
-
mov ds,word ptr es:[bx+8]
|
359
|
-
mov bx,word ptr es:[bx+4]
|
360
|
-
int 67h ; call the EMS driver
|
361
|
-
mov cx,bx ; save returned BX for a sec
|
362
|
-
les bx,dword ptr [bp+6] ; get EMScontext pointer
|
363
|
-
mov word ptr es:[bx],ax ; put back ax,dx,bx
|
364
|
-
mov word ptr es:[bx+2],dx
|
365
|
-
mov word ptr es:[bx+4],cx
|
366
|
-
pop ds ; restore registers and exit
|
367
|
-
pop es
|
368
|
-
pop dx
|
369
|
-
pop cx
|
370
|
-
pop bx
|
371
|
-
pop di
|
372
|
-
pop si
|
373
|
-
pop bp
|
374
|
-
ret
|
375
|
-
_jems_calldriver endp
|
376
|
-
|
377
|
-
JMEMDOSA_TXT ends
|
378
|
-
|
379
|
-
end
|
data/src/jpeg-7/jmemmac.c
DELETED
@@ -1,289 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* jmemmac.c
|
3
|
-
*
|
4
|
-
* Copyright (C) 1992-1997, 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
|
-
* jmemmac.c provides an Apple Macintosh implementation of the system-
|
9
|
-
* dependent portion of the JPEG memory manager.
|
10
|
-
*
|
11
|
-
* If you use jmemmac.c, then you must define USE_MAC_MEMMGR in the
|
12
|
-
* JPEG_INTERNALS part of jconfig.h.
|
13
|
-
*
|
14
|
-
* jmemmac.c uses the Macintosh toolbox routines NewPtr and DisposePtr
|
15
|
-
* instead of malloc and free. It accurately determines the amount of
|
16
|
-
* memory available by using CompactMem. Notice that if left to its
|
17
|
-
* own devices, this code can chew up all available space in the
|
18
|
-
* application's zone, with the exception of the rather small "slop"
|
19
|
-
* factor computed in jpeg_mem_available(). The application can ensure
|
20
|
-
* that more space is left over by reducing max_memory_to_use.
|
21
|
-
*
|
22
|
-
* Large images are swapped to disk using temporary files and System 7.0+'s
|
23
|
-
* temporary folder functionality.
|
24
|
-
*
|
25
|
-
* Note that jmemmac.c depends on two features of MacOS that were first
|
26
|
-
* introduced in System 7: FindFolder and the FSSpec-based calls.
|
27
|
-
* If your application uses jmemmac.c and is run under System 6 or earlier,
|
28
|
-
* and the jpeg library decides it needs a temporary file, it will abort,
|
29
|
-
* printing error messages about requiring System 7. (If no temporary files
|
30
|
-
* are created, it will run fine.)
|
31
|
-
*
|
32
|
-
* If you want to use jmemmac.c in an application that might be used with
|
33
|
-
* System 6 or earlier, then you should remove dependencies on FindFolder
|
34
|
-
* and the FSSpec calls. You will need to replace FindFolder with some
|
35
|
-
* other mechanism for finding a place to put temporary files, and you
|
36
|
-
* should replace the FSSpec calls with their HFS equivalents:
|
37
|
-
*
|
38
|
-
* FSpDelete -> HDelete
|
39
|
-
* FSpGetFInfo -> HGetFInfo
|
40
|
-
* FSpCreate -> HCreate
|
41
|
-
* FSpOpenDF -> HOpen *** Note: not HOpenDF ***
|
42
|
-
* FSMakeFSSpec -> (fill in spec by hand.)
|
43
|
-
*
|
44
|
-
* (Use HOpen instead of HOpenDF. HOpen is just a glue-interface to PBHOpen,
|
45
|
-
* which is on all HFS macs. HOpenDF is a System 7 addition which avoids the
|
46
|
-
* ages-old problem of names starting with a period.)
|
47
|
-
*
|
48
|
-
* Contributed by Sam Bushell (jsam@iagu.on.net) and
|
49
|
-
* Dan Gildor (gyld@in-touch.com).
|
50
|
-
*/
|
51
|
-
|
52
|
-
#define JPEG_INTERNALS
|
53
|
-
#include "jinclude.h"
|
54
|
-
#include "jpeglib.h"
|
55
|
-
#include "jmemsys.h" /* import the system-dependent declarations */
|
56
|
-
|
57
|
-
#ifndef USE_MAC_MEMMGR /* make sure user got configuration right */
|
58
|
-
You forgot to define USE_MAC_MEMMGR in jconfig.h. /* deliberate syntax error */
|
59
|
-
#endif
|
60
|
-
|
61
|
-
#include <Memory.h> /* we use the MacOS memory manager */
|
62
|
-
#include <Files.h> /* we use the MacOS File stuff */
|
63
|
-
#include <Folders.h> /* we use the MacOS HFS stuff */
|
64
|
-
#include <Script.h> /* for smSystemScript */
|
65
|
-
#include <Gestalt.h> /* we use Gestalt to test for specific functionality */
|
66
|
-
|
67
|
-
#ifndef TEMP_FILE_NAME /* can override from jconfig.h or Makefile */
|
68
|
-
#define TEMP_FILE_NAME "JPG%03d.TMP"
|
69
|
-
#endif
|
70
|
-
|
71
|
-
static int next_file_num; /* to distinguish among several temp files */
|
72
|
-
|
73
|
-
|
74
|
-
/*
|
75
|
-
* Memory allocation and freeing are controlled by the MacOS library
|
76
|
-
* routines NewPtr() and DisposePtr(), which allocate fixed-address
|
77
|
-
* storage. Unfortunately, the IJG library isn't smart enough to cope
|
78
|
-
* with relocatable storage.
|
79
|
-
*/
|
80
|
-
|
81
|
-
GLOBAL(void *)
|
82
|
-
jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject)
|
83
|
-
{
|
84
|
-
return (void *) NewPtr(sizeofobject);
|
85
|
-
}
|
86
|
-
|
87
|
-
GLOBAL(void)
|
88
|
-
jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject)
|
89
|
-
{
|
90
|
-
DisposePtr((Ptr) object);
|
91
|
-
}
|
92
|
-
|
93
|
-
|
94
|
-
/*
|
95
|
-
* "Large" objects are treated the same as "small" ones.
|
96
|
-
* NB: we include FAR keywords in the routine declarations simply for
|
97
|
-
* consistency with the rest of the IJG code; FAR should expand to empty
|
98
|
-
* on rational architectures like the Mac.
|
99
|
-
*/
|
100
|
-
|
101
|
-
GLOBAL(void FAR *)
|
102
|
-
jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject)
|
103
|
-
{
|
104
|
-
return (void FAR *) NewPtr(sizeofobject);
|
105
|
-
}
|
106
|
-
|
107
|
-
GLOBAL(void)
|
108
|
-
jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject)
|
109
|
-
{
|
110
|
-
DisposePtr((Ptr) object);
|
111
|
-
}
|
112
|
-
|
113
|
-
|
114
|
-
/*
|
115
|
-
* This routine computes the total memory space available for allocation.
|
116
|
-
*/
|
117
|
-
|
118
|
-
GLOBAL(long)
|
119
|
-
jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed,
|
120
|
-
long max_bytes_needed, long already_allocated)
|
121
|
-
{
|
122
|
-
long limit = cinfo->mem->max_memory_to_use - already_allocated;
|
123
|
-
long slop, mem;
|
124
|
-
|
125
|
-
/* Don't ask for more than what application has told us we may use */
|
126
|
-
if (max_bytes_needed > limit && limit > 0)
|
127
|
-
max_bytes_needed = limit;
|
128
|
-
/* Find whether there's a big enough free block in the heap.
|
129
|
-
* CompactMem tries to create a contiguous block of the requested size,
|
130
|
-
* and then returns the size of the largest free block (which could be
|
131
|
-
* much more or much less than we asked for).
|
132
|
-
* We add some slop to ensure we don't use up all available memory.
|
133
|
-
*/
|
134
|
-
slop = max_bytes_needed / 16 + 32768L;
|
135
|
-
mem = CompactMem(max_bytes_needed + slop) - slop;
|
136
|
-
if (mem < 0)
|
137
|
-
mem = 0; /* sigh, couldn't even get the slop */
|
138
|
-
/* Don't take more than the application says we can have */
|
139
|
-
if (mem > limit && limit > 0)
|
140
|
-
mem = limit;
|
141
|
-
return mem;
|
142
|
-
}
|
143
|
-
|
144
|
-
|
145
|
-
/*
|
146
|
-
* Backing store (temporary file) management.
|
147
|
-
* Backing store objects are only used when the value returned by
|
148
|
-
* jpeg_mem_available is less than the total space needed. You can dispense
|
149
|
-
* with these routines if you have plenty of virtual memory; see jmemnobs.c.
|
150
|
-
*/
|
151
|
-
|
152
|
-
|
153
|
-
METHODDEF(void)
|
154
|
-
read_backing_store (j_common_ptr cinfo, backing_store_ptr info,
|
155
|
-
void FAR * buffer_address,
|
156
|
-
long file_offset, long byte_count)
|
157
|
-
{
|
158
|
-
long bytes = byte_count;
|
159
|
-
long retVal;
|
160
|
-
|
161
|
-
if ( SetFPos ( info->temp_file, fsFromStart, file_offset ) != noErr )
|
162
|
-
ERREXIT(cinfo, JERR_TFILE_SEEK);
|
163
|
-
|
164
|
-
retVal = FSRead ( info->temp_file, &bytes,
|
165
|
-
(unsigned char *) buffer_address );
|
166
|
-
if ( retVal != noErr || bytes != byte_count )
|
167
|
-
ERREXIT(cinfo, JERR_TFILE_READ);
|
168
|
-
}
|
169
|
-
|
170
|
-
|
171
|
-
METHODDEF(void)
|
172
|
-
write_backing_store (j_common_ptr cinfo, backing_store_ptr info,
|
173
|
-
void FAR * buffer_address,
|
174
|
-
long file_offset, long byte_count)
|
175
|
-
{
|
176
|
-
long bytes = byte_count;
|
177
|
-
long retVal;
|
178
|
-
|
179
|
-
if ( SetFPos ( info->temp_file, fsFromStart, file_offset ) != noErr )
|
180
|
-
ERREXIT(cinfo, JERR_TFILE_SEEK);
|
181
|
-
|
182
|
-
retVal = FSWrite ( info->temp_file, &bytes,
|
183
|
-
(unsigned char *) buffer_address );
|
184
|
-
if ( retVal != noErr || bytes != byte_count )
|
185
|
-
ERREXIT(cinfo, JERR_TFILE_WRITE);
|
186
|
-
}
|
187
|
-
|
188
|
-
|
189
|
-
METHODDEF(void)
|
190
|
-
close_backing_store (j_common_ptr cinfo, backing_store_ptr info)
|
191
|
-
{
|
192
|
-
FSClose ( info->temp_file );
|
193
|
-
FSpDelete ( &(info->tempSpec) );
|
194
|
-
}
|
195
|
-
|
196
|
-
|
197
|
-
/*
|
198
|
-
* Initial opening of a backing-store object.
|
199
|
-
*
|
200
|
-
* This version uses FindFolder to find the Temporary Items folder,
|
201
|
-
* and puts the temporary file in there.
|
202
|
-
*/
|
203
|
-
|
204
|
-
GLOBAL(void)
|
205
|
-
jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info,
|
206
|
-
long total_bytes_needed)
|
207
|
-
{
|
208
|
-
short tmpRef, vRefNum;
|
209
|
-
long dirID;
|
210
|
-
FInfo finderInfo;
|
211
|
-
FSSpec theSpec;
|
212
|
-
Str255 fName;
|
213
|
-
OSErr osErr;
|
214
|
-
long gestaltResponse = 0;
|
215
|
-
|
216
|
-
/* Check that FSSpec calls are available. */
|
217
|
-
osErr = Gestalt( gestaltFSAttr, &gestaltResponse );
|
218
|
-
if ( ( osErr != noErr )
|
219
|
-
|| !( gestaltResponse & (1<<gestaltHasFSSpecCalls) ) )
|
220
|
-
ERREXITS(cinfo, JERR_TFILE_CREATE, "- System 7.0 or later required");
|
221
|
-
/* TO DO: add a proper error message to jerror.h. */
|
222
|
-
|
223
|
-
/* Check that FindFolder is available. */
|
224
|
-
osErr = Gestalt( gestaltFindFolderAttr, &gestaltResponse );
|
225
|
-
if ( ( osErr != noErr )
|
226
|
-
|| !( gestaltResponse & (1<<gestaltFindFolderPresent) ) )
|
227
|
-
ERREXITS(cinfo, JERR_TFILE_CREATE, "- System 7.0 or later required.");
|
228
|
-
/* TO DO: add a proper error message to jerror.h. */
|
229
|
-
|
230
|
-
osErr = FindFolder ( kOnSystemDisk, kTemporaryFolderType, kCreateFolder,
|
231
|
-
&vRefNum, &dirID );
|
232
|
-
if ( osErr != noErr )
|
233
|
-
ERREXITS(cinfo, JERR_TFILE_CREATE, "- temporary items folder unavailable");
|
234
|
-
/* TO DO: Try putting the temp files somewhere else. */
|
235
|
-
|
236
|
-
/* Keep generating file names till we find one that's not in use */
|
237
|
-
for (;;) {
|
238
|
-
next_file_num++; /* advance counter */
|
239
|
-
|
240
|
-
sprintf(info->temp_name, TEMP_FILE_NAME, next_file_num);
|
241
|
-
strcpy ( (Ptr)fName+1, info->temp_name );
|
242
|
-
*fName = strlen (info->temp_name);
|
243
|
-
osErr = FSMakeFSSpec ( vRefNum, dirID, fName, &theSpec );
|
244
|
-
|
245
|
-
if ( (osErr = FSpGetFInfo ( &theSpec, &finderInfo ) ) != noErr )
|
246
|
-
break;
|
247
|
-
}
|
248
|
-
|
249
|
-
osErr = FSpCreate ( &theSpec, '????', '????', smSystemScript );
|
250
|
-
if ( osErr != noErr )
|
251
|
-
ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name);
|
252
|
-
|
253
|
-
osErr = FSpOpenDF ( &theSpec, fsRdWrPerm, &(info->temp_file) );
|
254
|
-
if ( osErr != noErr )
|
255
|
-
ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name);
|
256
|
-
|
257
|
-
info->tempSpec = theSpec;
|
258
|
-
|
259
|
-
info->read_backing_store = read_backing_store;
|
260
|
-
info->write_backing_store = write_backing_store;
|
261
|
-
info->close_backing_store = close_backing_store;
|
262
|
-
TRACEMSS(cinfo, 1, JTRC_TFILE_OPEN, info->temp_name);
|
263
|
-
}
|
264
|
-
|
265
|
-
|
266
|
-
/*
|
267
|
-
* These routines take care of any system-dependent initialization and
|
268
|
-
* cleanup required.
|
269
|
-
*/
|
270
|
-
|
271
|
-
GLOBAL(long)
|
272
|
-
jpeg_mem_init (j_common_ptr cinfo)
|
273
|
-
{
|
274
|
-
next_file_num = 0;
|
275
|
-
|
276
|
-
/* max_memory_to_use will be initialized to FreeMem()'s result;
|
277
|
-
* the calling application might later reduce it, for example
|
278
|
-
* to leave room to invoke multiple JPEG objects.
|
279
|
-
* Note that FreeMem returns the total number of free bytes;
|
280
|
-
* it may not be possible to allocate a single block of this size.
|
281
|
-
*/
|
282
|
-
return FreeMem();
|
283
|
-
}
|
284
|
-
|
285
|
-
GLOBAL(void)
|
286
|
-
jpeg_mem_term (j_common_ptr cinfo)
|
287
|
-
{
|
288
|
-
/* no work */
|
289
|
-
}
|