tesseract_bin 1.0.0
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/.document +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +23 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +46 -0
- data/VERSION +1 -0
- data/ext/tesseract_bin/extconf.rb +17 -0
- data/lib/tesseract_bin.rb +12 -0
- data/tesseract_bin.gemspec +660 -0
- data/test/helper.rb +18 -0
- data/test/test_tesseract_bin.rb +7 -0
- data/vendor/tesseract-2.04/AUTHORS +8 -0
- data/vendor/tesseract-2.04/COPYING +23 -0
- data/vendor/tesseract-2.04/ChangeLog +71 -0
- data/vendor/tesseract-2.04/INSTALL +229 -0
- data/vendor/tesseract-2.04/Makefile.am +20 -0
- data/vendor/tesseract-2.04/Makefile.in +641 -0
- data/vendor/tesseract-2.04/NEWS +1 -0
- data/vendor/tesseract-2.04/README +138 -0
- data/vendor/tesseract-2.04/ReleaseNotes +213 -0
- data/vendor/tesseract-2.04/StdAfx.cpp +8 -0
- data/vendor/tesseract-2.04/StdAfx.h +24 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.am +63 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.in +735 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.cpp +1082 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.h +109 -0
- data/vendor/tesseract-2.04/ccmain/applybox.cpp +891 -0
- data/vendor/tesseract-2.04/ccmain/applybox.h +73 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.cpp +1105 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.h +256 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.cpp +76 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.h +29 -0
- data/vendor/tesseract-2.04/ccmain/callnet.cpp +93 -0
- data/vendor/tesseract-2.04/ccmain/callnet.h +32 -0
- data/vendor/tesseract-2.04/ccmain/charcut.cpp +704 -0
- data/vendor/tesseract-2.04/ccmain/charcut.h +120 -0
- data/vendor/tesseract-2.04/ccmain/charsample.cpp +699 -0
- data/vendor/tesseract-2.04/ccmain/control.cpp +1842 -0
- data/vendor/tesseract-2.04/ccmain/control.h +198 -0
- data/vendor/tesseract-2.04/ccmain/docqual.cpp +1481 -0
- data/vendor/tesseract-2.04/ccmain/docqual.h +155 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.cpp +82 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.h +13 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.cpp +989 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.h +72 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.cpp +825 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.h +93 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.cpp +154 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.h +32 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.cpp +391 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.h +48 -0
- data/vendor/tesseract-2.04/ccmain/output.cpp +1273 -0
- data/vendor/tesseract-2.04/ccmain/output.h +116 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.cpp +666 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.h +155 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.cpp +107 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.h +43 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.cpp +1867 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.h +181 -0
- data/vendor/tesseract-2.04/ccmain/reject.cpp +1775 -0
- data/vendor/tesseract-2.04/ccmain/reject.h +181 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.cpp +366 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.h +35 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.cpp +375 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.cpp +278 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.h +49 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.cpp +110 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.h +38 -0
- data/vendor/tesseract-2.04/ccmain/tesseractfull.cc +37 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.cpp +387 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.h +58 -0
- data/vendor/tesseract-2.04/ccmain/tessio.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.cpp +38 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.h +48 -0
- data/vendor/tesseract-2.04/ccmain/tfacep.h +62 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.cpp +443 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.h +85 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.cpp +549 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.h +108 -0
- data/vendor/tesseract-2.04/ccmain/varabled.cpp +346 -0
- data/vendor/tesseract-2.04/ccmain/varabled.h +125 -0
- data/vendor/tesseract-2.04/ccmain/werdit.cpp +193 -0
- data/vendor/tesseract-2.04/ccmain/werdit.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.am +25 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.in +650 -0
- data/vendor/tesseract-2.04/ccstruct/blckerr.h +29 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.cpp +778 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.h +381 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.cpp +247 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.h +119 -0
- data/vendor/tesseract-2.04/ccstruct/blread.cpp +537 -0
- data/vendor/tesseract-2.04/ccstruct/blread.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/callcpp.cpp +252 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.cpp +650 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.h +186 -0
- data/vendor/tesseract-2.04/ccstruct/crakedge.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.cpp +133 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.h +52 -0
- data/vendor/tesseract-2.04/ccstruct/hpddef.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/hpdsizes.h +8 -0
- data/vendor/tesseract-2.04/ccstruct/ipoints.h +479 -0
- data/vendor/tesseract-2.04/ccstruct/labls.cpp +188 -0
- data/vendor/tesseract-2.04/ccstruct/labls.h +38 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.cpp +249 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.cpp +453 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.h +84 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.cpp +100 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.h +85 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.cpp +176 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.h +108 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.cpp +369 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.h +235 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.cpp +216 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.h +133 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.cpp +879 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.h +318 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.cpp +330 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.h +313 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.cpp +361 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.h +181 -0
- data/vendor/tesseract-2.04/ccstruct/pdclass.h +54 -0
- data/vendor/tesseract-2.04/ccstruct/points.cpp +102 -0
- data/vendor/tesseract-2.04/ccstruct/points.h +299 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.cpp +588 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.h +51 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.cpp +398 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.h +122 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.cpp +357 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.cpp +23 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.h +58 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.cpp +441 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.h +125 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.cpp +147 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.cpp +21 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.cpp +382 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.h +113 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.cpp +372 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.h +198 -0
- data/vendor/tesseract-2.04/ccstruct/rect.cpp +229 -0
- data/vendor/tesseract-2.04/ccstruct/rect.h +320 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.cpp +545 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.h +284 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.cpp +89 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.h +45 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.cpp +905 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.h +135 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.cpp +296 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.h +88 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.cpp +230 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.h +155 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.cpp +63 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.h +91 -0
- data/vendor/tesseract-2.04/ccstruct/werd.cpp +967 -0
- data/vendor/tesseract-2.04/ccstruct/werd.h +277 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.am +19 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.in +626 -0
- data/vendor/tesseract-2.04/ccutil/basedir.cpp +118 -0
- data/vendor/tesseract-2.04/ccutil/basedir.h +32 -0
- data/vendor/tesseract-2.04/ccutil/bits16.cpp +30 -0
- data/vendor/tesseract-2.04/ccutil/bits16.h +61 -0
- data/vendor/tesseract-2.04/ccutil/boxread.cpp +105 -0
- data/vendor/tesseract-2.04/ccutil/boxread.h +44 -0
- data/vendor/tesseract-2.04/ccutil/clst.cpp +626 -0
- data/vendor/tesseract-2.04/ccutil/clst.h +1085 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.cpp +500 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.h +103 -0
- data/vendor/tesseract-2.04/ccutil/elst.cpp +593 -0
- data/vendor/tesseract-2.04/ccutil/elst.h +1125 -0
- data/vendor/tesseract-2.04/ccutil/elst2.cpp +606 -0
- data/vendor/tesseract-2.04/ccutil/elst2.h +1121 -0
- data/vendor/tesseract-2.04/ccutil/errcode.cpp +104 -0
- data/vendor/tesseract-2.04/ccutil/errcode.h +104 -0
- data/vendor/tesseract-2.04/ccutil/fileerr.h +34 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.cpp +115 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.h +40 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.cpp +57 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.h +30 -0
- data/vendor/tesseract-2.04/ccutil/host.h +180 -0
- data/vendor/tesseract-2.04/ccutil/hosthplb.h +1 -0
- data/vendor/tesseract-2.04/ccutil/lsterr.h +43 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.cpp +126 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.h +39 -0
- data/vendor/tesseract-2.04/ccutil/memblk.cpp +1106 -0
- data/vendor/tesseract-2.04/ccutil/memblk.h +189 -0
- data/vendor/tesseract-2.04/ccutil/memry.cpp +532 -0
- data/vendor/tesseract-2.04/ccutil/memry.h +192 -0
- data/vendor/tesseract-2.04/ccutil/memryerr.h +38 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.cpp +5 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.h +37 -0
- data/vendor/tesseract-2.04/ccutil/ndminx.h +31 -0
- data/vendor/tesseract-2.04/ccutil/notdll.h +28 -0
- data/vendor/tesseract-2.04/ccutil/nwmain.h +176 -0
- data/vendor/tesseract-2.04/ccutil/ocrclass.h +345 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.cpp +772 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.h +191 -0
- data/vendor/tesseract-2.04/ccutil/platform.h +18 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.cpp +543 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.h +55 -0
- data/vendor/tesseract-2.04/ccutil/secname.h +9 -0
- data/vendor/tesseract-2.04/ccutil/serialis.cpp +117 -0
- data/vendor/tesseract-2.04/ccutil/serialis.h +93 -0
- data/vendor/tesseract-2.04/ccutil/stderr.h +26 -0
- data/vendor/tesseract-2.04/ccutil/strngs.cpp +495 -0
- data/vendor/tesseract-2.04/ccutil/strngs.h +138 -0
- data/vendor/tesseract-2.04/ccutil/tessclas.h +135 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.cpp +61 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.h +30 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.cpp +122 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.h +35 -0
- data/vendor/tesseract-2.04/ccutil/unichar.cpp +144 -0
- data/vendor/tesseract-2.04/ccutil/unichar.h +84 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.cpp +172 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.h +82 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.cpp +307 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.h +267 -0
- data/vendor/tesseract-2.04/ccutil/varable.cpp +672 -0
- data/vendor/tesseract-2.04/ccutil/varable.h +419 -0
- data/vendor/tesseract-2.04/classify/Makefile.am +24 -0
- data/vendor/tesseract-2.04/classify/Makefile.in +647 -0
- data/vendor/tesseract-2.04/classify/adaptive.cpp +535 -0
- data/vendor/tesseract-2.04/classify/adaptive.h +199 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.cpp +2958 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.h +86 -0
- data/vendor/tesseract-2.04/classify/baseline.cpp +58 -0
- data/vendor/tesseract-2.04/classify/baseline.h +91 -0
- data/vendor/tesseract-2.04/classify/blobclass.cpp +123 -0
- data/vendor/tesseract-2.04/classify/blobclass.h +49 -0
- data/vendor/tesseract-2.04/classify/chartoname.cpp +74 -0
- data/vendor/tesseract-2.04/classify/chartoname.h +21 -0
- data/vendor/tesseract-2.04/classify/cluster.cpp +2834 -0
- data/vendor/tesseract-2.04/classify/cluster.h +158 -0
- data/vendor/tesseract-2.04/classify/clusttool.cpp +507 -0
- data/vendor/tesseract-2.04/classify/clusttool.h +70 -0
- data/vendor/tesseract-2.04/classify/cutoffs.cpp +73 -0
- data/vendor/tesseract-2.04/classify/cutoffs.h +49 -0
- data/vendor/tesseract-2.04/classify/extern.h +32 -0
- data/vendor/tesseract-2.04/classify/extract.cpp +100 -0
- data/vendor/tesseract-2.04/classify/extract.h +36 -0
- data/vendor/tesseract-2.04/classify/featdefs.cpp +244 -0
- data/vendor/tesseract-2.04/classify/featdefs.h +71 -0
- data/vendor/tesseract-2.04/classify/flexfx.cpp +87 -0
- data/vendor/tesseract-2.04/classify/flexfx.h +34 -0
- data/vendor/tesseract-2.04/classify/float2int.cpp +126 -0
- data/vendor/tesseract-2.04/classify/float2int.h +65 -0
- data/vendor/tesseract-2.04/classify/fpoint.cpp +73 -0
- data/vendor/tesseract-2.04/classify/fpoint.h +63 -0
- data/vendor/tesseract-2.04/classify/fxdefs.cpp +74 -0
- data/vendor/tesseract-2.04/classify/fxdefs.h +93 -0
- data/vendor/tesseract-2.04/classify/fxid.h +69 -0
- data/vendor/tesseract-2.04/classify/hideedge.cpp +35 -0
- data/vendor/tesseract-2.04/classify/hideedge.h +76 -0
- data/vendor/tesseract-2.04/classify/intfx.cpp +608 -0
- data/vendor/tesseract-2.04/classify/intfx.h +63 -0
- data/vendor/tesseract-2.04/classify/intmatcher.cpp +1524 -0
- data/vendor/tesseract-2.04/classify/intmatcher.h +199 -0
- data/vendor/tesseract-2.04/classify/intproto.cpp +1823 -0
- data/vendor/tesseract-2.04/classify/intproto.h +320 -0
- data/vendor/tesseract-2.04/classify/kdtree.cpp +884 -0
- data/vendor/tesseract-2.04/classify/kdtree.h +118 -0
- data/vendor/tesseract-2.04/classify/mf.cpp +106 -0
- data/vendor/tesseract-2.04/classify/mf.h +43 -0
- data/vendor/tesseract-2.04/classify/mfdefs.cpp +58 -0
- data/vendor/tesseract-2.04/classify/mfdefs.h +60 -0
- data/vendor/tesseract-2.04/classify/mfoutline.cpp +1087 -0
- data/vendor/tesseract-2.04/classify/mfoutline.h +277 -0
- data/vendor/tesseract-2.04/classify/mfx.cpp +436 -0
- data/vendor/tesseract-2.04/classify/mfx.h +52 -0
- data/vendor/tesseract-2.04/classify/normfeat.cpp +132 -0
- data/vendor/tesseract-2.04/classify/normfeat.h +63 -0
- data/vendor/tesseract-2.04/classify/normmatch.cpp +305 -0
- data/vendor/tesseract-2.04/classify/normmatch.h +38 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.cpp +310 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.h +148 -0
- data/vendor/tesseract-2.04/classify/outfeat.cpp +262 -0
- data/vendor/tesseract-2.04/classify/outfeat.h +76 -0
- data/vendor/tesseract-2.04/classify/picofeat.cpp +297 -0
- data/vendor/tesseract-2.04/classify/picofeat.h +65 -0
- data/vendor/tesseract-2.04/classify/protos.cpp +472 -0
- data/vendor/tesseract-2.04/classify/protos.h +258 -0
- data/vendor/tesseract-2.04/classify/sigmenu.cpp +225 -0
- data/vendor/tesseract-2.04/classify/sigmenu.h +39 -0
- data/vendor/tesseract-2.04/classify/speckle.cpp +127 -0
- data/vendor/tesseract-2.04/classify/speckle.h +69 -0
- data/vendor/tesseract-2.04/classify/xform2d.cpp +120 -0
- data/vendor/tesseract-2.04/classify/xform2d.h +60 -0
- data/vendor/tesseract-2.04/config/config.guess +1466 -0
- data/vendor/tesseract-2.04/config/config.h.in +188 -0
- data/vendor/tesseract-2.04/config/config.sub +1579 -0
- data/vendor/tesseract-2.04/config/depcomp +530 -0
- data/vendor/tesseract-2.04/config/install-sh +269 -0
- data/vendor/tesseract-2.04/config/missing +198 -0
- data/vendor/tesseract-2.04/config/mkinstalldirs +40 -0
- data/vendor/tesseract-2.04/config/stamp-h.in +0 -0
- data/vendor/tesseract-2.04/configure +10424 -0
- data/vendor/tesseract-2.04/cutil/Makefile.am +14 -0
- data/vendor/tesseract-2.04/cutil/Makefile.in +612 -0
- data/vendor/tesseract-2.04/cutil/bitvec.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/bitvec.h +100 -0
- data/vendor/tesseract-2.04/cutil/callcpp.h +190 -0
- data/vendor/tesseract-2.04/cutil/const.h +108 -0
- data/vendor/tesseract-2.04/cutil/cutil.cpp +92 -0
- data/vendor/tesseract-2.04/cutil/cutil.h +159 -0
- data/vendor/tesseract-2.04/cutil/danerror.cpp +144 -0
- data/vendor/tesseract-2.04/cutil/danerror.h +41 -0
- data/vendor/tesseract-2.04/cutil/debug.cpp +97 -0
- data/vendor/tesseract-2.04/cutil/debug.h +348 -0
- data/vendor/tesseract-2.04/cutil/efio.cpp +62 -0
- data/vendor/tesseract-2.04/cutil/efio.h +32 -0
- data/vendor/tesseract-2.04/cutil/emalloc.cpp +91 -0
- data/vendor/tesseract-2.04/cutil/emalloc.h +44 -0
- data/vendor/tesseract-2.04/cutil/freelist.cpp +75 -0
- data/vendor/tesseract-2.04/cutil/freelist.h +45 -0
- data/vendor/tesseract-2.04/cutil/funcdefs.h +35 -0
- data/vendor/tesseract-2.04/cutil/general.h +33 -0
- data/vendor/tesseract-2.04/cutil/globals.cpp +69 -0
- data/vendor/tesseract-2.04/cutil/globals.h +70 -0
- data/vendor/tesseract-2.04/cutil/listio.cpp +68 -0
- data/vendor/tesseract-2.04/cutil/listio.h +43 -0
- data/vendor/tesseract-2.04/cutil/minmax.h +40 -0
- data/vendor/tesseract-2.04/cutil/oldheap.cpp +337 -0
- data/vendor/tesseract-2.04/cutil/oldheap.h +126 -0
- data/vendor/tesseract-2.04/cutil/oldlist.cpp +393 -0
- data/vendor/tesseract-2.04/cutil/oldlist.h +350 -0
- data/vendor/tesseract-2.04/cutil/structures.cpp +66 -0
- data/vendor/tesseract-2.04/cutil/structures.h +112 -0
- data/vendor/tesseract-2.04/cutil/tessarray.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/tessarray.h +166 -0
- data/vendor/tesseract-2.04/cutil/tordvars.cpp +95 -0
- data/vendor/tesseract-2.04/cutil/tordvars.h +61 -0
- data/vendor/tesseract-2.04/cutil/variables.cpp +317 -0
- data/vendor/tesseract-2.04/cutil/variables.h +170 -0
- data/vendor/tesseract-2.04/dict/Makefile.am +13 -0
- data/vendor/tesseract-2.04/dict/Makefile.in +609 -0
- data/vendor/tesseract-2.04/dict/choicearr.h +96 -0
- data/vendor/tesseract-2.04/dict/choices.cpp +210 -0
- data/vendor/tesseract-2.04/dict/choices.h +241 -0
- data/vendor/tesseract-2.04/dict/context.cpp +270 -0
- data/vendor/tesseract-2.04/dict/context.h +82 -0
- data/vendor/tesseract-2.04/dict/dawg.cpp +363 -0
- data/vendor/tesseract-2.04/dict/dawg.h +394 -0
- data/vendor/tesseract-2.04/dict/hyphen.cpp +84 -0
- data/vendor/tesseract-2.04/dict/hyphen.h +125 -0
- data/vendor/tesseract-2.04/dict/lookdawg.cpp +228 -0
- data/vendor/tesseract-2.04/dict/lookdawg.h +76 -0
- data/vendor/tesseract-2.04/dict/makedawg.cpp +449 -0
- data/vendor/tesseract-2.04/dict/makedawg.h +83 -0
- data/vendor/tesseract-2.04/dict/matchdefs.h +145 -0
- data/vendor/tesseract-2.04/dict/permdawg.cpp +415 -0
- data/vendor/tesseract-2.04/dict/permdawg.h +98 -0
- data/vendor/tesseract-2.04/dict/permngram.cpp +358 -0
- data/vendor/tesseract-2.04/dict/permngram.h +33 -0
- data/vendor/tesseract-2.04/dict/permnum.cpp +522 -0
- data/vendor/tesseract-2.04/dict/permnum.h +83 -0
- data/vendor/tesseract-2.04/dict/permute.cpp +1704 -0
- data/vendor/tesseract-2.04/dict/permute.h +93 -0
- data/vendor/tesseract-2.04/dict/reduce.cpp +424 -0
- data/vendor/tesseract-2.04/dict/reduce.h +112 -0
- data/vendor/tesseract-2.04/dict/states.cpp +382 -0
- data/vendor/tesseract-2.04/dict/states.h +111 -0
- data/vendor/tesseract-2.04/dict/stopper.cpp +1458 -0
- data/vendor/tesseract-2.04/dict/stopper.h +103 -0
- data/vendor/tesseract-2.04/dict/trie.cpp +683 -0
- data/vendor/tesseract-2.04/dict/trie.h +190 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.am +2 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.in +388 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.cpp +163 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.dsp +186 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.vcproj +637 -0
- data/vendor/tesseract-2.04/eurotext.tif +0 -0
- data/vendor/tesseract-2.04/image/Makefile.am +10 -0
- data/vendor/tesseract-2.04/image/Makefile.in +596 -0
- data/vendor/tesseract-2.04/image/bitstrm.cpp +157 -0
- data/vendor/tesseract-2.04/image/bitstrm.h +73 -0
- data/vendor/tesseract-2.04/image/img.h +336 -0
- data/vendor/tesseract-2.04/image/imgbmp.cpp +223 -0
- data/vendor/tesseract-2.04/image/imgbmp.h +50 -0
- data/vendor/tesseract-2.04/image/imgerrs.h +35 -0
- data/vendor/tesseract-2.04/image/imgio.cpp +321 -0
- data/vendor/tesseract-2.04/image/imgio.h +22 -0
- data/vendor/tesseract-2.04/image/imgs.cpp +1764 -0
- data/vendor/tesseract-2.04/image/imgs.h +102 -0
- data/vendor/tesseract-2.04/image/imgtiff.cpp +723 -0
- data/vendor/tesseract-2.04/image/imgtiff.h +89 -0
- data/vendor/tesseract-2.04/image/imgunpk.h +1377 -0
- data/vendor/tesseract-2.04/image/svshowim.cpp +40 -0
- data/vendor/tesseract-2.04/image/svshowim.h +25 -0
- data/vendor/tesseract-2.04/java/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ScrollView.java +421 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.am +5 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.in +474 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEvent.java +87 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventHandler.java +296 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventType.java +31 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.am +7 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.in +476 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVAbstractMenuItem.java +58 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVCheckboxMenuItem.java +60 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVEmptyMenuItem.java +48 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVImageHandler.java +228 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuBar.java +130 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuItem.java +61 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVPopupMenu.java +142 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVSubMenuItem.java +41 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVWindow.java +643 -0
- data/vendor/tesseract-2.04/java/makefile +55 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.am +13 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.in +596 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.cpp +363 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.h +90 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.cpp +82 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.h +30 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.cpp +170 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.h +29 -0
- data/vendor/tesseract-2.04/phototest.tif +0 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.am +31 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.in +529 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/configs/api_config +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train +19 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train.stderr +18 -0
- data/vendor/tesseract-2.04/tessdata/configs/inter +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/kannada +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/makebox +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/unlv +3 -0
- data/vendor/tesseract-2.04/tessdata/confsets +3 -0
- data/vendor/tesseract-2.04/tessdata/eng.DangAmbigs +39 -0
- data/vendor/tesseract-2.04/tessdata/eng.freq-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.inttemp +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.normproto +1247 -0
- data/vendor/tesseract-2.04/tessdata/eng.pffmtable +111 -0
- data/vendor/tesseract-2.04/tessdata/eng.unicharset +113 -0
- data/vendor/tesseract-2.04/tessdata/eng.user-words +921 -0
- data/vendor/tesseract-2.04/tessdata/eng.word-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/makedummies +8 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch.nochop +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/matdemo +7 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/msdemo +13 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/nobatch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/segdemo +9 -0
- data/vendor/tesseract-2.04/tessdll.cpp +351 -0
- data/vendor/tesseract-2.04/tessdll.dsp +2050 -0
- data/vendor/tesseract-2.04/tessdll.h +143 -0
- data/vendor/tesseract-2.04/tessdll.vcproj +5495 -0
- data/vendor/tesseract-2.04/tesseract.dsp +2124 -0
- data/vendor/tesseract-2.04/tesseract.dsw +116 -0
- data/vendor/tesseract-2.04/tesseract.sln +59 -0
- data/vendor/tesseract-2.04/tesseract.spec +188 -0
- data/vendor/tesseract-2.04/tesseract.vcproj +5859 -0
- data/vendor/tesseract-2.04/testing/Makefile.am +2 -0
- data/vendor/tesseract-2.04/testing/Makefile.in +312 -0
- data/vendor/tesseract-2.04/testing/README +43 -0
- data/vendor/tesseract-2.04/testing/counttestset.sh +61 -0
- data/vendor/tesseract-2.04/testing/reorgdata.sh +44 -0
- data/vendor/tesseract-2.04/testing/reports/1995.bus.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.doe3.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.mag.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.news.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/2.03.summary +9 -0
- data/vendor/tesseract-2.04/testing/reports/2.04.summary +9 -0
- data/vendor/tesseract-2.04/testing/runalltests.sh +110 -0
- data/vendor/tesseract-2.04/testing/runtestset.sh +61 -0
- data/vendor/tesseract-2.04/textord/Makefile.am +20 -0
- data/vendor/tesseract-2.04/textord/Makefile.in +624 -0
- data/vendor/tesseract-2.04/textord/blkocc.cpp +809 -0
- data/vendor/tesseract-2.04/textord/blkocc.h +327 -0
- data/vendor/tesseract-2.04/textord/blobcmpl.h +31 -0
- data/vendor/tesseract-2.04/textord/drawedg.cpp +77 -0
- data/vendor/tesseract-2.04/textord/drawedg.h +34 -0
- data/vendor/tesseract-2.04/textord/drawtord.cpp +469 -0
- data/vendor/tesseract-2.04/textord/drawtord.h +107 -0
- data/vendor/tesseract-2.04/textord/edgblob.cpp +412 -0
- data/vendor/tesseract-2.04/textord/edgblob.h +100 -0
- data/vendor/tesseract-2.04/textord/edgloop.cpp +211 -0
- data/vendor/tesseract-2.04/textord/edgloop.h +66 -0
- data/vendor/tesseract-2.04/textord/fpchop.cpp +1641 -0
- data/vendor/tesseract-2.04/textord/fpchop.h +238 -0
- data/vendor/tesseract-2.04/textord/gap_map.cpp +166 -0
- data/vendor/tesseract-2.04/textord/gap_map.h +40 -0
- data/vendor/tesseract-2.04/textord/makerow.cpp +2628 -0
- data/vendor/tesseract-2.04/textord/makerow.h +295 -0
- data/vendor/tesseract-2.04/textord/oldbasel.cpp +1761 -0
- data/vendor/tesseract-2.04/textord/oldbasel.h +195 -0
- data/vendor/tesseract-2.04/textord/pithsync.cpp +696 -0
- data/vendor/tesseract-2.04/textord/pithsync.h +134 -0
- data/vendor/tesseract-2.04/textord/pitsync1.cpp +425 -0
- data/vendor/tesseract-2.04/textord/pitsync1.h +135 -0
- data/vendor/tesseract-2.04/textord/scanedg.cpp +452 -0
- data/vendor/tesseract-2.04/textord/scanedg.h +74 -0
- data/vendor/tesseract-2.04/textord/sortflts.cpp +80 -0
- data/vendor/tesseract-2.04/textord/sortflts.h +64 -0
- data/vendor/tesseract-2.04/textord/tessout.h +76 -0
- data/vendor/tesseract-2.04/textord/topitch.cpp +2019 -0
- data/vendor/tesseract-2.04/textord/topitch.h +195 -0
- data/vendor/tesseract-2.04/textord/tordmain.cpp +907 -0
- data/vendor/tesseract-2.04/textord/tordmain.h +132 -0
- data/vendor/tesseract-2.04/textord/tospace.cpp +1939 -0
- data/vendor/tesseract-2.04/textord/tospace.h +193 -0
- data/vendor/tesseract-2.04/textord/tovars.cpp +87 -0
- data/vendor/tesseract-2.04/textord/tovars.h +94 -0
- data/vendor/tesseract-2.04/textord/underlin.cpp +312 -0
- data/vendor/tesseract-2.04/textord/underlin.h +53 -0
- data/vendor/tesseract-2.04/textord/wordseg.cpp +620 -0
- data/vendor/tesseract-2.04/textord/wordseg.h +70 -0
- data/vendor/tesseract-2.04/training/Makefile.am +54 -0
- data/vendor/tesseract-2.04/training/Makefile.in +720 -0
- data/vendor/tesseract-2.04/training/cnTraining.cpp +855 -0
- data/vendor/tesseract-2.04/training/cntraining.dsp +243 -0
- data/vendor/tesseract-2.04/training/cntraining.vcproj +950 -0
- data/vendor/tesseract-2.04/training/mergenf.cpp +451 -0
- data/vendor/tesseract-2.04/training/mergenf.h +106 -0
- data/vendor/tesseract-2.04/training/mfTraining.cpp +1341 -0
- data/vendor/tesseract-2.04/training/mftraining.dsp +285 -0
- data/vendor/tesseract-2.04/training/mftraining.vcproj +1055 -0
- data/vendor/tesseract-2.04/training/name2char.cpp +166 -0
- data/vendor/tesseract-2.04/training/name2char.h +38 -0
- data/vendor/tesseract-2.04/training/training.cpp +190 -0
- data/vendor/tesseract-2.04/training/training.h +130 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.cpp +140 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.dsp +335 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.vcproj +769 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.cpp +69 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.dsp +319 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.vcproj +1113 -0
- data/vendor/tesseract-2.04/viewer/Makefile.am +9 -0
- data/vendor/tesseract-2.04/viewer/Makefile.in +591 -0
- data/vendor/tesseract-2.04/viewer/scrollview.cpp +825 -0
- data/vendor/tesseract-2.04/viewer/scrollview.h +414 -0
- data/vendor/tesseract-2.04/viewer/svmnode.cpp +140 -0
- data/vendor/tesseract-2.04/viewer/svmnode.h +94 -0
- data/vendor/tesseract-2.04/viewer/svpaint.cpp +220 -0
- data/vendor/tesseract-2.04/viewer/svutil.cpp +347 -0
- data/vendor/tesseract-2.04/viewer/svutil.h +138 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.am +23 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.in +641 -0
- data/vendor/tesseract-2.04/wordrec/associate.cpp +62 -0
- data/vendor/tesseract-2.04/wordrec/associate.h +93 -0
- data/vendor/tesseract-2.04/wordrec/badwords.cpp +106 -0
- data/vendor/tesseract-2.04/wordrec/badwords.h +51 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.cpp +526 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.h +203 -0
- data/vendor/tesseract-2.04/wordrec/charsample.h +208 -0
- data/vendor/tesseract-2.04/wordrec/chop.cpp +458 -0
- data/vendor/tesseract-2.04/wordrec/chop.h +153 -0
- data/vendor/tesseract-2.04/wordrec/chopper.cpp +750 -0
- data/vendor/tesseract-2.04/wordrec/chopper.h +104 -0
- data/vendor/tesseract-2.04/wordrec/closed.cpp +136 -0
- data/vendor/tesseract-2.04/wordrec/closed.h +65 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.h +33 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.cpp +92 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.h +33 -0
- data/vendor/tesseract-2.04/wordrec/findseam.cpp +566 -0
- data/vendor/tesseract-2.04/wordrec/findseam.h +69 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.cpp +226 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.h +91 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.cpp +194 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.h +120 -0
- data/vendor/tesseract-2.04/wordrec/makechop.cpp +281 -0
- data/vendor/tesseract-2.04/wordrec/makechop.h +69 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.cpp +191 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.h +45 -0
- data/vendor/tesseract-2.04/wordrec/matrix.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/matrix.h +104 -0
- data/vendor/tesseract-2.04/wordrec/measure.h +135 -0
- data/vendor/tesseract-2.04/wordrec/metrics.cpp +363 -0
- data/vendor/tesseract-2.04/wordrec/metrics.h +130 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.cpp +51 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.h +27 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.cpp +110 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.h +45 -0
- data/vendor/tesseract-2.04/wordrec/olutil.cpp +153 -0
- data/vendor/tesseract-2.04/wordrec/olutil.h +128 -0
- data/vendor/tesseract-2.04/wordrec/outlines.cpp +172 -0
- data/vendor/tesseract-2.04/wordrec/outlines.h +148 -0
- data/vendor/tesseract-2.04/wordrec/pieces.cpp +410 -0
- data/vendor/tesseract-2.04/wordrec/pieces.h +154 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.cpp +134 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.h +71 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.cpp +116 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.h +73 -0
- data/vendor/tesseract-2.04/wordrec/render.cpp +152 -0
- data/vendor/tesseract-2.04/wordrec/render.h +58 -0
- data/vendor/tesseract-2.04/wordrec/seam.cpp +482 -0
- data/vendor/tesseract-2.04/wordrec/seam.h +136 -0
- data/vendor/tesseract-2.04/wordrec/split.cpp +182 -0
- data/vendor/tesseract-2.04/wordrec/split.h +115 -0
- data/vendor/tesseract-2.04/wordrec/tally.cpp +68 -0
- data/vendor/tesseract-2.04/wordrec/tally.h +94 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.cpp +108 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.h +46 -0
- data/vendor/tesseract-2.04/wordrec/tface.cpp +272 -0
- data/vendor/tesseract-2.04/wordrec/tface.h +35 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.cpp +284 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.h +64 -0
- metadata +708 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
/* -*-C-*-
|
|
2
|
+
********************************************************************************
|
|
3
|
+
*
|
|
4
|
+
* File: debug.h (Formerly debug.h)
|
|
5
|
+
* Description: Combinatorial Splitter
|
|
6
|
+
* Author: Mark Seaman, OCR Technology
|
|
7
|
+
* Created: Thu Jul 27 08:59:01 1989
|
|
8
|
+
* Modified: Wed Feb 27 14:38:16 1991 (Mark Seaman) marks@hpgrlt
|
|
9
|
+
* Language: C
|
|
10
|
+
* Package: N/A
|
|
11
|
+
* Status: Experimental (Do Not Distribute)
|
|
12
|
+
*
|
|
13
|
+
* (c) Copyright 1989, Hewlett-Packard Company.
|
|
14
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
** you may not use this file except in compliance with the License.
|
|
16
|
+
** You may obtain a copy of the License at
|
|
17
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
** See the License for the specific language governing permissions and
|
|
22
|
+
** limitations under the License.
|
|
23
|
+
*
|
|
24
|
+
*********************************************************************************/
|
|
25
|
+
/* To hide variable names for relase to UNLV DONT put the variable names in
|
|
26
|
+
the executable: Toggle be either defining or not defining SECURE_NAMES
|
|
27
|
+
This stage prevents the menu construction*/
|
|
28
|
+
/* #define SECURE_NAMES done in secnames.h when necessary */
|
|
29
|
+
|
|
30
|
+
#ifndef DEBUG_H
|
|
31
|
+
#define DEBUG_H
|
|
32
|
+
|
|
33
|
+
#include "variables.h"
|
|
34
|
+
#include "callcpp.h"
|
|
35
|
+
#include <stdio.h>
|
|
36
|
+
|
|
37
|
+
/*----------------------------------------------------------------------
|
|
38
|
+
T y p e s
|
|
39
|
+
----------------------------------------------------------------------*/
|
|
40
|
+
typedef struct
|
|
41
|
+
{
|
|
42
|
+
const char *menu_string;
|
|
43
|
+
void_proc menu_function;
|
|
44
|
+
} MENU_ITEM;
|
|
45
|
+
|
|
46
|
+
/*----------------------------------------------------------------------
|
|
47
|
+
V a r i a b l e s
|
|
48
|
+
----------------------------------------------------------------------*/
|
|
49
|
+
#define NUM_MENUS 30
|
|
50
|
+
#define NUM_MENU_ITEMS 30
|
|
51
|
+
extern MENU_ITEM menu_table[NUM_MENUS][NUM_MENU_ITEMS];
|
|
52
|
+
|
|
53
|
+
/*----------------------------------------------------------------------
|
|
54
|
+
M a c r o s
|
|
55
|
+
----------------------------------------------------------------------*/
|
|
56
|
+
/**********************************************************************
|
|
57
|
+
* float_value
|
|
58
|
+
*
|
|
59
|
+
* Template procedures to set a floating point value of a variable.
|
|
60
|
+
**********************************************************************/
|
|
61
|
+
|
|
62
|
+
#define float_value(proc,string,variable,default) \
|
|
63
|
+
\
|
|
64
|
+
float variable = default; \
|
|
65
|
+
\
|
|
66
|
+
int proc () \
|
|
67
|
+
{ \
|
|
68
|
+
return (set_float_value (string, &variable)); \
|
|
69
|
+
} \
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/**********************************************************************
|
|
73
|
+
* handle_menu_x
|
|
74
|
+
*
|
|
75
|
+
* Create a procedure to handle menu items.
|
|
76
|
+
**********************************************************************/
|
|
77
|
+
|
|
78
|
+
#define handle_menu(menu,handle_menu_x) \
|
|
79
|
+
\
|
|
80
|
+
int handle_menu_x () \
|
|
81
|
+
{ \
|
|
82
|
+
int x; \
|
|
83
|
+
cprintf ("\t 0. Continue\n"); \
|
|
84
|
+
for (x = 0; x < NUM_MENU_ITEMS; x++) { \
|
|
85
|
+
if (menu_table[menu][x].menu_string) \
|
|
86
|
+
cprintf ("\t%2d. %s\n", x, menu_table[menu][x].menu_string); \
|
|
87
|
+
} \
|
|
88
|
+
\
|
|
89
|
+
scanf ("%d", &x); \
|
|
90
|
+
\
|
|
91
|
+
if (x == 0) return (0); \
|
|
92
|
+
if ((0 < x && x < NUM_MENU_ITEMS) && \
|
|
93
|
+
(menu_table[menu][x].menu_function)) { \
|
|
94
|
+
(*menu_table[menu][x].menu_function) (); \
|
|
95
|
+
return (1); \
|
|
96
|
+
} \
|
|
97
|
+
else { \
|
|
98
|
+
cprintf ("Bad menu selection"); \
|
|
99
|
+
return (0); \
|
|
100
|
+
} \
|
|
101
|
+
} \
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/**********************************************************************
|
|
105
|
+
* int_value
|
|
106
|
+
*
|
|
107
|
+
* Template procedures to set a floating point value of a variable.
|
|
108
|
+
**********************************************************************/
|
|
109
|
+
|
|
110
|
+
#define int_value(proc,string,variable,default) \
|
|
111
|
+
\
|
|
112
|
+
int variable = default; \
|
|
113
|
+
\
|
|
114
|
+
int proc () \
|
|
115
|
+
{ \
|
|
116
|
+
return (set_int_value (string, &variable)); \
|
|
117
|
+
} \
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
/**********************************************************************
|
|
121
|
+
* toggle_value
|
|
122
|
+
*
|
|
123
|
+
* Template procedures to toggle the value of a variable.
|
|
124
|
+
**********************************************************************/
|
|
125
|
+
|
|
126
|
+
#ifdef SECURE_NAMES
|
|
127
|
+
#define toggle_value(proc,string,variable,default) \
|
|
128
|
+
\
|
|
129
|
+
int variable = default; \
|
|
130
|
+
\
|
|
131
|
+
int proc () \
|
|
132
|
+
{ \
|
|
133
|
+
if (variable) { \
|
|
134
|
+
variable = 0; \
|
|
135
|
+
} \
|
|
136
|
+
else { \
|
|
137
|
+
variable = 1; \
|
|
138
|
+
} \
|
|
139
|
+
return (1); \
|
|
140
|
+
} \
|
|
141
|
+
|
|
142
|
+
#else
|
|
143
|
+
|
|
144
|
+
#define toggle_value(proc,string,variable,default) \
|
|
145
|
+
\
|
|
146
|
+
int variable = default; \
|
|
147
|
+
\
|
|
148
|
+
int proc () \
|
|
149
|
+
{ \
|
|
150
|
+
if (variable) { \
|
|
151
|
+
cprintf( "%s is OFF\n", string); \
|
|
152
|
+
variable = 0; \
|
|
153
|
+
} \
|
|
154
|
+
else { \
|
|
155
|
+
cprintf( "%s is ON\n", string); \
|
|
156
|
+
variable = 1; \
|
|
157
|
+
} \
|
|
158
|
+
return (1); \
|
|
159
|
+
} \
|
|
160
|
+
|
|
161
|
+
#endif
|
|
162
|
+
|
|
163
|
+
/**********************************************************************
|
|
164
|
+
* make_float_const
|
|
165
|
+
*
|
|
166
|
+
* Create a constant with a config file reader
|
|
167
|
+
**********************************************************************/
|
|
168
|
+
|
|
169
|
+
#define make_float_const(name,default,installer) \
|
|
170
|
+
\
|
|
171
|
+
float name = default; \
|
|
172
|
+
\
|
|
173
|
+
void installer () \
|
|
174
|
+
{ \
|
|
175
|
+
float_variable (name, #name, default); \
|
|
176
|
+
} \
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
/**********************************************************************
|
|
180
|
+
* make_int_const
|
|
181
|
+
*
|
|
182
|
+
* Create a constant with a config file reader
|
|
183
|
+
**********************************************************************/
|
|
184
|
+
|
|
185
|
+
#define make_int_const(name,default,installer) \
|
|
186
|
+
\
|
|
187
|
+
int name = default; \
|
|
188
|
+
\
|
|
189
|
+
void installer () \
|
|
190
|
+
{ \
|
|
191
|
+
int_variable (name, #name, default); \
|
|
192
|
+
} \
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
/**********************************************************************
|
|
196
|
+
* make_toggle_const
|
|
197
|
+
*
|
|
198
|
+
* Create a constant with a config file reader
|
|
199
|
+
**********************************************************************/
|
|
200
|
+
|
|
201
|
+
#define make_toggle_const(name,default,installer) \
|
|
202
|
+
\
|
|
203
|
+
int name = default; \
|
|
204
|
+
\
|
|
205
|
+
void installer () \
|
|
206
|
+
{ \
|
|
207
|
+
int_variable (name, #name, default); \
|
|
208
|
+
} \
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
#ifdef SECURE_NAMES
|
|
212
|
+
/**********************************************************************
|
|
213
|
+
* make_float_var
|
|
214
|
+
*
|
|
215
|
+
* Create a variable with a config file reader and a menu handler.
|
|
216
|
+
**********************************************************************/
|
|
217
|
+
|
|
218
|
+
#define make_float_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
219
|
+
\
|
|
220
|
+
float_value (menufunct, "", name, default); \
|
|
221
|
+
\
|
|
222
|
+
void installer () \
|
|
223
|
+
{ \
|
|
224
|
+
float_variable (name, #name, default); \
|
|
225
|
+
} \
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
/**********************************************************************
|
|
229
|
+
* make_int_var
|
|
230
|
+
*
|
|
231
|
+
* Create a variable with a config file reader and a menu handler.
|
|
232
|
+
**********************************************************************/
|
|
233
|
+
|
|
234
|
+
#define make_int_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
235
|
+
\
|
|
236
|
+
int_value (menufunct, "", name, default); \
|
|
237
|
+
\
|
|
238
|
+
void installer () \
|
|
239
|
+
{ \
|
|
240
|
+
int_variable (name, #name, default); \
|
|
241
|
+
} \
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
/**********************************************************************
|
|
245
|
+
* make_toggle_var
|
|
246
|
+
*
|
|
247
|
+
* Create a variable with a config file reader and a menu handler.
|
|
248
|
+
**********************************************************************/
|
|
249
|
+
|
|
250
|
+
#define make_toggle_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
251
|
+
\
|
|
252
|
+
toggle_value (menufunct, "", name, default); \
|
|
253
|
+
\
|
|
254
|
+
void installer () \
|
|
255
|
+
{ \
|
|
256
|
+
int_variable (name, #name, default); \
|
|
257
|
+
} \
|
|
258
|
+
|
|
259
|
+
#else
|
|
260
|
+
|
|
261
|
+
/**********************************************************************
|
|
262
|
+
* make_float_var
|
|
263
|
+
*
|
|
264
|
+
* Create a variable with a config file reader and a menu handler.
|
|
265
|
+
**********************************************************************/
|
|
266
|
+
|
|
267
|
+
#define make_float_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
268
|
+
\
|
|
269
|
+
float_value (menufunct, menustring, name, default); \
|
|
270
|
+
\
|
|
271
|
+
void installer () \
|
|
272
|
+
{ \
|
|
273
|
+
float_variable (name, #name, default); \
|
|
274
|
+
make_menu_item (menu, menuitem, menustring, menufunct); \
|
|
275
|
+
} \
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
/**********************************************************************
|
|
279
|
+
* make_int_var
|
|
280
|
+
*
|
|
281
|
+
* Create a variable with a config file reader and a menu handler.
|
|
282
|
+
**********************************************************************/
|
|
283
|
+
|
|
284
|
+
#define make_int_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
285
|
+
\
|
|
286
|
+
int_value (menufunct, menustring, name, default); \
|
|
287
|
+
\
|
|
288
|
+
void installer () \
|
|
289
|
+
{ \
|
|
290
|
+
int_variable (name, #name, default); \
|
|
291
|
+
make_menu_item (menu, menuitem, menustring, menufunct); \
|
|
292
|
+
} \
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
/**********************************************************************
|
|
296
|
+
* make_toggle_var
|
|
297
|
+
*
|
|
298
|
+
* Create a variable with a config file reader and a menu handler.
|
|
299
|
+
**********************************************************************/
|
|
300
|
+
|
|
301
|
+
#define make_toggle_var(name,default,installer,menu,menuitem,menufunct,menustring) \
|
|
302
|
+
\
|
|
303
|
+
toggle_value (menufunct, menustring, name, default); \
|
|
304
|
+
\
|
|
305
|
+
void installer () \
|
|
306
|
+
{ \
|
|
307
|
+
int_variable (name, #name, default); \
|
|
308
|
+
make_menu_item (menu, menuitem, menustring, menufunct); \
|
|
309
|
+
} \
|
|
310
|
+
|
|
311
|
+
#endif
|
|
312
|
+
|
|
313
|
+
/*----------------------------------------------------------------------
|
|
314
|
+
F u n c t i o n s
|
|
315
|
+
----------------------------------------------------------------------*/
|
|
316
|
+
int set_float_value(const char *message, float *variable);
|
|
317
|
+
|
|
318
|
+
int set_int_value(const char *message, int *variable);
|
|
319
|
+
|
|
320
|
+
void make_menu_item(int menu,
|
|
321
|
+
int menu_item,
|
|
322
|
+
const char *menu_string,
|
|
323
|
+
int_void menu_funct);
|
|
324
|
+
|
|
325
|
+
/*
|
|
326
|
+
#if defined(__STDC__) || defined(__cplusplus)
|
|
327
|
+
# define _ARGS(s) s
|
|
328
|
+
#else
|
|
329
|
+
# define _ARGS(s) ()
|
|
330
|
+
#endif
|
|
331
|
+
|
|
332
|
+
int set_float_value
|
|
333
|
+
_ARGS((char *message,
|
|
334
|
+
float *variable));
|
|
335
|
+
|
|
336
|
+
int set_int_value
|
|
337
|
+
_ARGS((char *message,
|
|
338
|
+
int *variable));
|
|
339
|
+
|
|
340
|
+
void make_menu_item
|
|
341
|
+
_ARGS((int menu,
|
|
342
|
+
int menu_item,
|
|
343
|
+
char *menu_string,
|
|
344
|
+
int_proc menu_funct));
|
|
345
|
+
|
|
346
|
+
#undef _ARGS
|
|
347
|
+
*/
|
|
348
|
+
#endif
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: efio.c
|
|
3
|
+
** Purpose: Utility I/O routines
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: 5/21/89, DSJ, Created.
|
|
6
|
+
**
|
|
7
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
******************************************************************************/
|
|
18
|
+
/**----------------------------------------------------------------------------
|
|
19
|
+
Include Files and Type Defines
|
|
20
|
+
----------------------------------------------------------------------------**/
|
|
21
|
+
#include "efio.h"
|
|
22
|
+
#include "danerror.h"
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
#include <string.h>
|
|
25
|
+
|
|
26
|
+
#define MAXERRORMESSAGE 256
|
|
27
|
+
|
|
28
|
+
/**----------------------------------------------------------------------------
|
|
29
|
+
Public Code
|
|
30
|
+
----------------------------------------------------------------------------**/
|
|
31
|
+
/*---------------------------------------------------------------------------*/
|
|
32
|
+
FILE *Efopen(const char *Name, const char *Mode) {
|
|
33
|
+
/*
|
|
34
|
+
** Parameters:
|
|
35
|
+
** Name name of file to be opened
|
|
36
|
+
** Mode mode to be used to open file
|
|
37
|
+
** Globals:
|
|
38
|
+
** None
|
|
39
|
+
** Operation:
|
|
40
|
+
** This routine attempts to open the specified file in the
|
|
41
|
+
** specified mode. If the file can be opened, a pointer to
|
|
42
|
+
** the open file is returned. If the file cannot be opened,
|
|
43
|
+
** an error is trapped.
|
|
44
|
+
** Return:
|
|
45
|
+
** Pointer to open file.
|
|
46
|
+
** Exceptions:
|
|
47
|
+
** FOPENERROR unable to open specified file
|
|
48
|
+
** History:
|
|
49
|
+
** 5/21/89, DSJ, Created.
|
|
50
|
+
*/
|
|
51
|
+
FILE *File;
|
|
52
|
+
char ErrorMessage[MAXERRORMESSAGE];
|
|
53
|
+
|
|
54
|
+
File = fopen (Name, Mode);
|
|
55
|
+
if (File == NULL) {
|
|
56
|
+
sprintf (ErrorMessage, "Unable to open %s", Name);
|
|
57
|
+
DoError(FOPENERROR, ErrorMessage);
|
|
58
|
+
return (NULL);
|
|
59
|
+
}
|
|
60
|
+
else
|
|
61
|
+
return (File);
|
|
62
|
+
} /* Efopen */
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: efio.h
|
|
3
|
+
** Purpose: Definition of file I/O routines
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: 5/21/89, DSJ, Created.
|
|
6
|
+
**
|
|
7
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
******************************************************************************/
|
|
18
|
+
#ifndef EFIO_H
|
|
19
|
+
#define EFIO_H
|
|
20
|
+
|
|
21
|
+
/**----------------------------------------------------------------------------
|
|
22
|
+
Include Files and Type Defines
|
|
23
|
+
----------------------------------------------------------------------------**/
|
|
24
|
+
#include <stdio.h>
|
|
25
|
+
|
|
26
|
+
#define FOPENERROR 3000
|
|
27
|
+
|
|
28
|
+
/**----------------------------------------------------------------------------
|
|
29
|
+
Public Function Prototype
|
|
30
|
+
----------------------------------------------------------------------------**/
|
|
31
|
+
FILE *Efopen(const char *Name, const char *Mode);
|
|
32
|
+
#endif
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename:
|
|
3
|
+
emalloc.c
|
|
4
|
+
** Purpose:
|
|
5
|
+
Routines for trapping memory allocation errors.
|
|
6
|
+
** Author:
|
|
7
|
+
Dan Johnson
|
|
8
|
+
HP-UX 6.2
|
|
9
|
+
HP-UX 6.2
|
|
10
|
+
** History:
|
|
11
|
+
4/3/89, DSJ, Created.
|
|
12
|
+
**
|
|
13
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
14
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
** you may not use this file except in compliance with the License.
|
|
16
|
+
** You may obtain a copy of the License at
|
|
17
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
** See the License for the specific language governing permissions and
|
|
22
|
+
** limitations under the License.
|
|
23
|
+
******************************************************************************/
|
|
24
|
+
/**----------------------------------------------------------------------------
|
|
25
|
+
Include Files and Type Defines
|
|
26
|
+
----------------------------------------------------------------------------**/
|
|
27
|
+
#include "emalloc.h"
|
|
28
|
+
#include "danerror.h"
|
|
29
|
+
#include <stdlib.h>
|
|
30
|
+
|
|
31
|
+
/**----------------------------------------------------------------------------
|
|
32
|
+
Public Code
|
|
33
|
+
----------------------------------------------------------------------------**/
|
|
34
|
+
/*---------------------------------------------------------------------------*/
|
|
35
|
+
void *Emalloc(size_t Size) {
|
|
36
|
+
/*
|
|
37
|
+
** Parameters:
|
|
38
|
+
** Size
|
|
39
|
+
number of bytes of memory to be allocated
|
|
40
|
+
** Globals: none
|
|
41
|
+
** Operation:
|
|
42
|
+
** This routine attempts to allocate the specified number of
|
|
43
|
+
** bytes. If the memory can be allocated, a pointer to the
|
|
44
|
+
** memory is returned. If the memory cannot be allocated, or
|
|
45
|
+
** if the allocation request is negative or zero,
|
|
46
|
+
** an error is trapped.
|
|
47
|
+
** Return: Pointer to allocated memory.
|
|
48
|
+
** Exceptions: NOTENOUGHMEMORY
|
|
49
|
+
unable to allocate Size bytes
|
|
50
|
+
** ILLEGALMALLOCREQUEST
|
|
51
|
+
negative or zero request size
|
|
52
|
+
** History: 4/3/89, DSJ, Created.
|
|
53
|
+
*/
|
|
54
|
+
void *Buffer;
|
|
55
|
+
|
|
56
|
+
if (Size <= 0)
|
|
57
|
+
DoError (ILLEGALMALLOCREQUEST, "Illegal malloc request size");
|
|
58
|
+
Buffer = (void *) malloc (Size);
|
|
59
|
+
if (Buffer == NULL) {
|
|
60
|
+
DoError (NOTENOUGHMEMORY, "Not enough memory");
|
|
61
|
+
return (NULL);
|
|
62
|
+
}
|
|
63
|
+
else
|
|
64
|
+
return (Buffer);
|
|
65
|
+
|
|
66
|
+
} /* Emalloc */
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
/*---------------------------------------------------------------------------*/
|
|
70
|
+
void *Erealloc(void *ptr, size_t size) {
|
|
71
|
+
void *Buffer;
|
|
72
|
+
|
|
73
|
+
if (size < 0 || (size == 0 && ptr == NULL))
|
|
74
|
+
DoError (ILLEGALMALLOCREQUEST, "Illegal realloc request size");
|
|
75
|
+
|
|
76
|
+
Buffer = (void *) realloc (ptr, size);
|
|
77
|
+
if (Buffer == NULL && size != 0)
|
|
78
|
+
DoError (NOTENOUGHMEMORY, "Not enough memory");
|
|
79
|
+
return (Buffer);
|
|
80
|
+
|
|
81
|
+
} /* Erealloc */
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
/*---------------------------------------------------------------------------*/
|
|
85
|
+
void Efree(void *ptr) {
|
|
86
|
+
if (ptr == NULL)
|
|
87
|
+
DoError (ILLEGALMALLOCREQUEST, "Attempted to free NULL ptr");
|
|
88
|
+
|
|
89
|
+
free(ptr);
|
|
90
|
+
|
|
91
|
+
} /* Efree */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: emalloc.h
|
|
3
|
+
** Purpose: Definition of memory allocation routines.
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: 4/3/89, DSJ, Created.
|
|
6
|
+
**
|
|
7
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
******************************************************************************/
|
|
18
|
+
#ifndef EMALLOC_H
|
|
19
|
+
#define EMALLOC_H
|
|
20
|
+
|
|
21
|
+
/**----------------------------------------------------------------------------
|
|
22
|
+
Include Files and Type Defines
|
|
23
|
+
----------------------------------------------------------------------------**/
|
|
24
|
+
#include "host.h"
|
|
25
|
+
#include "callcpp.h"
|
|
26
|
+
|
|
27
|
+
#define NOTENOUGHMEMORY 2000
|
|
28
|
+
#define ILLEGALMALLOCREQUEST 2001
|
|
29
|
+
|
|
30
|
+
/**----------------------------------------------------------------------------
|
|
31
|
+
Public Function Prototypes
|
|
32
|
+
----------------------------------------------------------------------------**/
|
|
33
|
+
void *Emalloc(size_t Size);
|
|
34
|
+
|
|
35
|
+
void *Erealloc(void *ptr, size_t size);
|
|
36
|
+
|
|
37
|
+
void Efree(void *ptr);
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/**----------------------------------------------------------------------------
|
|
41
|
+
Global Data Definitions and Declarations
|
|
42
|
+
----------------------------------------------------------------------------**/
|
|
43
|
+
|
|
44
|
+
#endif
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**************************************************************************
|
|
2
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
** you may not use this file except in compliance with the License.
|
|
4
|
+
** You may obtain a copy of the License at
|
|
5
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
** See the License for the specific language governing permissions and
|
|
10
|
+
** limitations under the License.
|
|
11
|
+
**************************************************************************/
|
|
12
|
+
#include "freelist.h"
|
|
13
|
+
|
|
14
|
+
#include <memory.h>
|
|
15
|
+
|
|
16
|
+
#include "danerror.h"
|
|
17
|
+
#include "memry.h"
|
|
18
|
+
#include "tprintf.h"
|
|
19
|
+
|
|
20
|
+
static int mem_alloc_counter = 0;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**********************************************************************
|
|
24
|
+
* memalloc
|
|
25
|
+
*
|
|
26
|
+
* Memory allocator with protection.
|
|
27
|
+
**********************************************************************/
|
|
28
|
+
int *memalloc(int size) {
|
|
29
|
+
mem_alloc_counter++;
|
|
30
|
+
return ((int *) alloc_mem (size));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/**********************************************************************
|
|
35
|
+
* memrealloc
|
|
36
|
+
*
|
|
37
|
+
* Memory allocator with protection.
|
|
38
|
+
**********************************************************************/
|
|
39
|
+
int *memrealloc(void *ptr, int size, int oldsize) {
|
|
40
|
+
int shiftsize;
|
|
41
|
+
int *newbuf;
|
|
42
|
+
|
|
43
|
+
shiftsize = size > oldsize ? oldsize : size;
|
|
44
|
+
newbuf = (int *) alloc_mem (size);
|
|
45
|
+
memcpy(newbuf, ptr, shiftsize);
|
|
46
|
+
free_mem(ptr);
|
|
47
|
+
return newbuf;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
/**********************************************************************
|
|
52
|
+
* memfree
|
|
53
|
+
*
|
|
54
|
+
* Memory allocator with protection.
|
|
55
|
+
**********************************************************************/
|
|
56
|
+
void memfree(void *element) {
|
|
57
|
+
if (element) {
|
|
58
|
+
free_mem(element);
|
|
59
|
+
mem_alloc_counter--;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
tprintf ("%d MEM_ALLOC's used\n", mem_alloc_counter);
|
|
63
|
+
DoError (0, "Memfree of NULL pointer");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
/**********************************************************************
|
|
69
|
+
* mem_tidy
|
|
70
|
+
*
|
|
71
|
+
* Do nothing.
|
|
72
|
+
**********************************************************************/
|
|
73
|
+
void mem_tidy(int level) {
|
|
74
|
+
check_mem ("Old tidy", level);
|
|
75
|
+
}
|