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,192 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: memry.h (Formerly memory.h)
|
|
3
|
+
* Description: Header file for basic memory allocation/deallocation.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Tue May 8 16:03:48 BST 1990
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1990, Hewlett-Packard Ltd.
|
|
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
|
+
|
|
20
|
+
#ifndef MEMRY_H
|
|
21
|
+
#define MEMRY_H
|
|
22
|
+
|
|
23
|
+
#include <stddef.h>
|
|
24
|
+
#include "host.h"
|
|
25
|
+
|
|
26
|
+
#define JUSTCHECKS 0 /*just check consistency */
|
|
27
|
+
#define MEMCHECKS 1 /*report totals */
|
|
28
|
+
#define FULLMEMCHECKS 2 /*report on all blocks */
|
|
29
|
+
|
|
30
|
+
#ifdef __MSW32__
|
|
31
|
+
#define NEWDELETE /*replace new & delete*/\
|
|
32
|
+
void *operator new( /*fast allocator*/\
|
|
33
|
+
size_t size, /*size of object*/\
|
|
34
|
+
const char* file=NULL, /*filename*/\
|
|
35
|
+
inT32 line=0) /*line number*/\
|
|
36
|
+
{\
|
|
37
|
+
return alloc_struct(size); /*simple to do*/\
|
|
38
|
+
}\
|
|
39
|
+
\
|
|
40
|
+
void operator delete( /*fast destructor*/\
|
|
41
|
+
void *deadstruct, /*thing to free*/\
|
|
42
|
+
size_t size) /*sizeof struct*/\
|
|
43
|
+
{\
|
|
44
|
+
free_struct(deadstruct,size); /*free it*/\
|
|
45
|
+
}\
|
|
46
|
+
|
|
47
|
+
#define NEWDELETE2(name) /*replace new & delete*/\
|
|
48
|
+
void *operator new( /*fast allocator*/\
|
|
49
|
+
size_t size, /*size of object*/\
|
|
50
|
+
const char* file=NULL, /*filename*/\
|
|
51
|
+
inT32 line=0) /*line number*/\
|
|
52
|
+
{\
|
|
53
|
+
return alloc_struct(size,#name); /*simple to do*/\
|
|
54
|
+
}\
|
|
55
|
+
\
|
|
56
|
+
void operator delete( /*fast destructor*/\
|
|
57
|
+
void *deadstruct, /*thing to free*/\
|
|
58
|
+
size_t size) /*sizeof struct*/\
|
|
59
|
+
{\
|
|
60
|
+
free_struct(deadstruct,size,#name); /*free it*/\
|
|
61
|
+
}\
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
#undef NEWDELETE
|
|
65
|
+
#define NEWDELETE
|
|
66
|
+
#undef NEWDELETE2
|
|
67
|
+
#define NEWDELETE2(name)
|
|
68
|
+
|
|
69
|
+
#else
|
|
70
|
+
#define NEWDELETE /*replace new & delete*/\
|
|
71
|
+
void *operator new( /*fast allocator*/\
|
|
72
|
+
size_t size) /*size of object*/\
|
|
73
|
+
{\
|
|
74
|
+
return alloc_struct(size); /*simple to do*/\
|
|
75
|
+
}\
|
|
76
|
+
\
|
|
77
|
+
void operator delete( /*fast destructor*/\
|
|
78
|
+
void *deadstruct, /*thing to free*/\
|
|
79
|
+
size_t size) /*sizeof struct*/\
|
|
80
|
+
{\
|
|
81
|
+
free_struct(deadstruct,size); /*free it*/\
|
|
82
|
+
}\
|
|
83
|
+
|
|
84
|
+
#define NEWDELETE2(name) /*replace new & delete*/\
|
|
85
|
+
void *operator new( /*fast allocator*/\
|
|
86
|
+
size_t size) /*size of object*/\
|
|
87
|
+
{\
|
|
88
|
+
return alloc_struct(size,#name); /*simple to do*/\
|
|
89
|
+
}\
|
|
90
|
+
\
|
|
91
|
+
void operator delete( /*fast destructor*/\
|
|
92
|
+
void *deadstruct, /*thing to free*/\
|
|
93
|
+
size_t size) /*sizeof struct*/\
|
|
94
|
+
{\
|
|
95
|
+
free_struct(deadstruct,size,#name); /*free it*/\
|
|
96
|
+
}\
|
|
97
|
+
|
|
98
|
+
#endif
|
|
99
|
+
/**********************************************************************
|
|
100
|
+
* ALLOC_2D_ARRAY
|
|
101
|
+
*
|
|
102
|
+
* Create a dynamic 2D array.
|
|
103
|
+
**********************************************************************/
|
|
104
|
+
|
|
105
|
+
#define ALLOC_2D_ARRAY(x,y,mem,ptrs,type) /*make 2d array*/\
|
|
106
|
+
{ \
|
|
107
|
+
inT32 TMP_i; \
|
|
108
|
+
mem=(type*)alloc_mem((x)*(y)*sizeof(type)); /*get memory*/\
|
|
109
|
+
ptrs=(type**)alloc_mem((x)*sizeof(type*)); /*get ptrs*/\
|
|
110
|
+
for (TMP_i=0;TMP_i<(x);TMP_i++)\
|
|
111
|
+
ptrs[TMP_i]=mem+(y)*TMP_i; /*set ptrs*/\
|
|
112
|
+
} \
|
|
113
|
+
|
|
114
|
+
/**********************************************************************
|
|
115
|
+
* FREE_2D_ARRAY
|
|
116
|
+
*
|
|
117
|
+
* Destroy a 2D array created by ALLOC_2D_ARRAY
|
|
118
|
+
**********************************************************************/
|
|
119
|
+
|
|
120
|
+
#define FREE_2D_ARRAY(mem,ptrs) /*free a 2D array*/\
|
|
121
|
+
{ \
|
|
122
|
+
free_mem(mem); /*free the memory*/\
|
|
123
|
+
free_mem(ptrs); /*and the ptrs*/\
|
|
124
|
+
} \
|
|
125
|
+
|
|
126
|
+
/**********************************************************************
|
|
127
|
+
* ALLOC_BIG_2D_ARRAY
|
|
128
|
+
*
|
|
129
|
+
* Create a dynamic 2D array. Use a memory allocator that allows
|
|
130
|
+
* allocation of bigger chunks.
|
|
131
|
+
**********************************************************************/
|
|
132
|
+
|
|
133
|
+
#define ALLOC_BIG_2D_ARRAY(x,y,mem,ptrs,type) /*make 2d array*/\
|
|
134
|
+
{ \
|
|
135
|
+
inT32 TMP_i; \
|
|
136
|
+
mem=(type*)alloc_big_mem((x)*(y)*sizeof(type)); /*get memory*/\
|
|
137
|
+
ptrs=(type**)alloc_big_mem((x)*sizeof(type*)); /*get ptrs*/\
|
|
138
|
+
for (TMP_i=0;TMP_i<(x);TMP_i++)\
|
|
139
|
+
ptrs[TMP_i]=mem+(y)*TMP_i; /*set ptrs*/\
|
|
140
|
+
} \
|
|
141
|
+
|
|
142
|
+
/**********************************************************************
|
|
143
|
+
* FREE_BIG_2D_ARRAY
|
|
144
|
+
*
|
|
145
|
+
* Destroy a 2D array created by ALLOC_BIG_2D_ARRAY
|
|
146
|
+
**********************************************************************/
|
|
147
|
+
|
|
148
|
+
#define FREE_BIG_2D_ARRAY(mem,ptrs) /*free a 2D array*/\
|
|
149
|
+
{ \
|
|
150
|
+
free_big_mem(mem); /*free the memory*/\
|
|
151
|
+
free_big_mem(ptrs); /*and the ptrs*/\
|
|
152
|
+
} \
|
|
153
|
+
|
|
154
|
+
extern DLLSYM void check_mem( //check consistency
|
|
155
|
+
const char *string, //context message
|
|
156
|
+
inT8 level //level of check
|
|
157
|
+
);
|
|
158
|
+
//allocate string
|
|
159
|
+
extern DLLSYM char *alloc_string(inT32 count //no of chars required
|
|
160
|
+
);
|
|
161
|
+
extern DLLSYM void free_string( //free a string
|
|
162
|
+
char *string //string to free
|
|
163
|
+
);
|
|
164
|
+
//allocate memory
|
|
165
|
+
extern DLLSYM void *alloc_struct (
|
|
166
|
+
inT32 count, //no of chars required
|
|
167
|
+
const char *name = NULL //class name
|
|
168
|
+
);
|
|
169
|
+
extern DLLSYM void free_struct ( //free a structure
|
|
170
|
+
void *deadstruct, //structure to free
|
|
171
|
+
inT32 count, //no of bytes
|
|
172
|
+
const char *name = NULL //class name
|
|
173
|
+
);
|
|
174
|
+
extern DLLSYM void *alloc_mem_p( //allocate permanent space
|
|
175
|
+
inT32 count //block size to allocate
|
|
176
|
+
);
|
|
177
|
+
extern DLLSYM void *alloc_mem( //get some memory
|
|
178
|
+
inT32 count //no of bytes to get
|
|
179
|
+
);
|
|
180
|
+
//get some memory
|
|
181
|
+
extern DLLSYM void *alloc_big_mem(inT32 count //no of bytes to get
|
|
182
|
+
);
|
|
183
|
+
//get some memory
|
|
184
|
+
extern DLLSYM void *alloc_big_zeros(inT32 count //no of bytes to get
|
|
185
|
+
);
|
|
186
|
+
extern DLLSYM void free_mem( //free mem from alloc_mem
|
|
187
|
+
void *oldchunk //chunk to free
|
|
188
|
+
);
|
|
189
|
+
extern DLLSYM void free_big_mem( //free mem from alloc_mem
|
|
190
|
+
void *oldchunk //chunk to free
|
|
191
|
+
);
|
|
192
|
+
#endif
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: memryerr.h (Formerly: memerr.h)
|
|
3
|
+
* Description: File defining error messages for memory functions.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Mon Aug 13 12:51:03 BST 1990
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1990, Hewlett-Packard Ltd.
|
|
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
|
+
|
|
20
|
+
#ifndef MEMRYERR_H
|
|
21
|
+
#define MEMRYERR_H
|
|
22
|
+
|
|
23
|
+
#include "errcode.h"
|
|
24
|
+
|
|
25
|
+
const ERRCODE MEMTOOBIG = "Memory request too big";
|
|
26
|
+
const ERRCODE NOMOREBLOCKS = "Max total memory blocks exceeded";
|
|
27
|
+
const ERRCODE NOMOREMEM = "No more memory available from malloc";
|
|
28
|
+
const ERRCODE FREENULLPTR = "Attempt to free memory NULL pointer";
|
|
29
|
+
const ERRCODE NOTMALLOCMEM =
|
|
30
|
+
"Attempt to free memory not belonging to memalloc";
|
|
31
|
+
const ERRCODE FREEILLEGALPTR = "Pointer or memory corrupted";
|
|
32
|
+
const ERRCODE FREEFREEDBLOCK = "Memory block already marked free";
|
|
33
|
+
const ERRCODE BADMEMCHUNKS = "Inconsistency in memory chunks";
|
|
34
|
+
const ERRCODE BADSTRUCTCOUNT = "Memory incorrect freelist length";
|
|
35
|
+
const ERRCODE NEGATIVE_USED_STRUCTS =
|
|
36
|
+
"Negative number of used memory structures";
|
|
37
|
+
const ERRCODE NOTASTRING = "Illegal pointer for memory strfree";
|
|
38
|
+
#endif
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// mfcpch.h : include file for standard system include files,
|
|
2
|
+
// or project specific include files that are used frequently, but
|
|
3
|
+
// are changed infrequently
|
|
4
|
+
//
|
|
5
|
+
// For Unix and mac the file does nothing. It needs to be included in all cpp
|
|
6
|
+
// files for compatibility with the PC pre-compiled header mechanism.
|
|
7
|
+
#ifdef __MSW32__
|
|
8
|
+
#ifndef _AFXDLL
|
|
9
|
+
#define WIN32_LEAN_AND_MEAN
|
|
10
|
+
#define STRICT 1
|
|
11
|
+
//#include <windows.h>
|
|
12
|
+
#include <stdlib.h>
|
|
13
|
+
#else
|
|
14
|
+
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
|
15
|
+
|
|
16
|
+
#include <afxwin.h> // mfc core and standard components
|
|
17
|
+
#include <afxext.h> // mfc extensions
|
|
18
|
+
|
|
19
|
+
#ifndef _AFX_NO_OLE_SUPPORT
|
|
20
|
+
#include <afxole.h> // mfc ole classes
|
|
21
|
+
#include <afxodlgs.h> // mfc ole dialog classes
|
|
22
|
+
#include <afxdisp.h> // mfc ole automation classes
|
|
23
|
+
#endif // _AFX_NO_OLE_SUPPORT
|
|
24
|
+
|
|
25
|
+
#ifndef _AFX_NO_DB_SUPPORT
|
|
26
|
+
#include <afxdb.h> // mfc odbc database classes
|
|
27
|
+
#endif // _AFX_NO_DB_SUPPORT
|
|
28
|
+
|
|
29
|
+
#ifndef _AFX_NO_DAO_SUPPORT
|
|
30
|
+
#include <afxdao.h> // mfc dao database classes
|
|
31
|
+
#endif // _AFX_NO_DAO_SUPPORT
|
|
32
|
+
|
|
33
|
+
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
|
34
|
+
#include <afxcmn.h> // mfc support for windows 95 common controls
|
|
35
|
+
#endif // _AFX_NO_AFXCMN_SUPPORT
|
|
36
|
+
#endif
|
|
37
|
+
#endif
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: ndminx.h (Formerly ndminmax.h)
|
|
3
|
+
* Description: Extended ascii chars
|
|
4
|
+
* Author: Phil Cheatle
|
|
5
|
+
* Created: Mon Mar 29 14:46:01 BST 1993
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1991, Hewlett-Packard Ltd.
|
|
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
|
+
|
|
20
|
+
#ifndef NDMINX_H
|
|
21
|
+
#define NDMINX_H
|
|
22
|
+
|
|
23
|
+
#ifndef MAX
|
|
24
|
+
#define MAX(x,y) (((x) >= (y))?(x):(y))
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#ifndef MIN
|
|
28
|
+
#define MIN(x,y) (((x) <= (y))?(x):(y))
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#endif
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: notdll.h
|
|
3
|
+
* Description: Defines for dll symbols for any program using a dll.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Tue Apr 30 16:15:01 MDT 1996
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1996, Hewlett-Packard Co.
|
|
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
|
+
|
|
20
|
+
//This file does NOT use the usual single inclusion code as it
|
|
21
|
+
//is necessary to allow it to be executed every time it is included.
|
|
22
|
+
//#ifndef NOTDLL_H
|
|
23
|
+
//#define NOTDLL_H
|
|
24
|
+
|
|
25
|
+
#undef DLLSYM
|
|
26
|
+
#define DLLSYM
|
|
27
|
+
|
|
28
|
+
//#endif
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: nwmain.h
|
|
3
|
+
* Description: Tool to declare main, making windows invisible.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Fri Sep 07 13:27:50 MDT 1995
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1995, Hewlett-Packard Co.
|
|
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
|
+
|
|
20
|
+
#ifndef RUNMAIN_H
|
|
21
|
+
#define RUNMAIN_H
|
|
22
|
+
|
|
23
|
+
#include "host.h"
|
|
24
|
+
#include "varable.h"
|
|
25
|
+
#include "notdll.h" //must be last include
|
|
26
|
+
|
|
27
|
+
#define DECLARE_MAIN(ARGC,ARGV)\
|
|
28
|
+
STRING_VAR(init_config_file,"config","Config file to read on startup");\
|
|
29
|
+
REALLY_DECLARE_MAIN(ARGC,ARGV)
|
|
30
|
+
|
|
31
|
+
#define DECLARE_MAIN_CONFIG(ARGC,ARGV,NAME)\
|
|
32
|
+
STRING_VAR(init_config_file,NAME,"Config file to read on startup");\
|
|
33
|
+
REALLY_DECLARE_MAIN(ARGC,ARGV)
|
|
34
|
+
|
|
35
|
+
#ifndef __UNIX__
|
|
36
|
+
|
|
37
|
+
#define REALLY_DECLARE_MAIN(ARGC,ARGV)\
|
|
38
|
+
\
|
|
39
|
+
/**********************************************************************\
|
|
40
|
+
* parse_args\
|
|
41
|
+
*\
|
|
42
|
+
* Turn a list of args into a new list of args with each separate\
|
|
43
|
+
* whitespace spaced string being an arg.\
|
|
44
|
+
**********************************************************************/\
|
|
45
|
+
\
|
|
46
|
+
inT32 parse_args( /*refine arg list*/\
|
|
47
|
+
inT32 argc, /*no of input args*/\
|
|
48
|
+
char *argv[], /*input args*/\
|
|
49
|
+
char *arglist[] /*output args*/\
|
|
50
|
+
)\
|
|
51
|
+
{\
|
|
52
|
+
inT32 argcount; /*converted argc*/\
|
|
53
|
+
char *testchar; /*char in option string*/\
|
|
54
|
+
inT32 arg; /*current argument*/\
|
|
55
|
+
\
|
|
56
|
+
argcount=0; /*no of options*/\
|
|
57
|
+
for (arg=0;arg<argc;arg++)\
|
|
58
|
+
{\
|
|
59
|
+
testchar=argv[arg]; /*start of arg*/\
|
|
60
|
+
do\
|
|
61
|
+
{\
|
|
62
|
+
while (*testchar\
|
|
63
|
+
&& (*testchar==' ' || *testchar=='"' || *testchar=='\n' || *testchar=='\t'))\
|
|
64
|
+
testchar++; /*skip white space*/\
|
|
65
|
+
if (*testchar)\
|
|
66
|
+
{\
|
|
67
|
+
arglist[argcount++]=testchar; /*new arg*/\
|
|
68
|
+
do\
|
|
69
|
+
{\
|
|
70
|
+
for (testchar++;*testchar\
|
|
71
|
+
&& *testchar!=' ' && *testchar!='"' && *testchar!='\n' && *testchar!='\t';\
|
|
72
|
+
testchar++); /*skip to white space*/\
|
|
73
|
+
}\
|
|
74
|
+
while (*testchar=='"' && testchar[1]!=' ' && testchar[1]!='\0' && testchar[1]!='\n' && testchar[1]!='\t');\
|
|
75
|
+
if (*testchar)\
|
|
76
|
+
*testchar++='\0'; /*turn to separate args*/\
|
|
77
|
+
}\
|
|
78
|
+
}\
|
|
79
|
+
while (*testchar);\
|
|
80
|
+
}\
|
|
81
|
+
return argcount; /*new number of args*/\
|
|
82
|
+
}\
|
|
83
|
+
\
|
|
84
|
+
inT32 global_exit_code;\
|
|
85
|
+
inT32 real_main(inT32,const char**);\
|
|
86
|
+
\
|
|
87
|
+
inT32 run_main( /*the main thread*/\
|
|
88
|
+
CWinApp* theapp /*arguments*/\
|
|
89
|
+
)\
|
|
90
|
+
{\
|
|
91
|
+
char **argv;\
|
|
92
|
+
char *argsin[2];\
|
|
93
|
+
inT32 argc;\
|
|
94
|
+
inT32 exit_code;\
|
|
95
|
+
\
|
|
96
|
+
argsin[0]=strdup(theapp->m_pszExeName);\
|
|
97
|
+
argsin[1]=strdup(theapp->m_lpCmdLine);\
|
|
98
|
+
/*allocate memory for the args. There can never be more than half*/\
|
|
99
|
+
/*the total number of characters in the arguments.*/\
|
|
100
|
+
argv=(char**)malloc(((strlen(argsin[0])+strlen(argsin[1]))/2+1)*sizeof(char*));\
|
|
101
|
+
\
|
|
102
|
+
/*now construct argv as it should be for C.*/\
|
|
103
|
+
argc=parse_args(2,argsin,argv);\
|
|
104
|
+
\
|
|
105
|
+
/*call main(argc,argv) here*/\
|
|
106
|
+
exit_code=real_main(argc,(const char **)argv);\
|
|
107
|
+
\
|
|
108
|
+
\
|
|
109
|
+
/*now get rid of the main app window*/\
|
|
110
|
+
if (theapp!=NULL && theapp->m_pMainWnd!=NULL)\
|
|
111
|
+
PostMessage(theapp->m_pMainWnd->m_hWnd,WM_QUIT,0,0);\
|
|
112
|
+
free(argsin[0]);\
|
|
113
|
+
free(argsin[1]);\
|
|
114
|
+
free(argv);\
|
|
115
|
+
global_exit_code=exit_code;\
|
|
116
|
+
return exit_code;\
|
|
117
|
+
}\
|
|
118
|
+
\
|
|
119
|
+
inT32 real_main(inT32 ARGC,const char* ARGV[])\
|
|
120
|
+
|
|
121
|
+
#else
|
|
122
|
+
|
|
123
|
+
#define REALLY_DECLARE_MAIN(ARGC,ARGV)\
|
|
124
|
+
\
|
|
125
|
+
/**********************************************************************\
|
|
126
|
+
* parse_args\
|
|
127
|
+
*\
|
|
128
|
+
* Turn a list of args into a new list of args with each separate\
|
|
129
|
+
* whitespace spaced string being an arg.\
|
|
130
|
+
**********************************************************************/\
|
|
131
|
+
\
|
|
132
|
+
inT32 parse_args( /*refine arg list*/\
|
|
133
|
+
inT32 argc, /*no of input args*/\
|
|
134
|
+
char *argv[], /*input args*/\
|
|
135
|
+
char *arglist[] /*output args*/\
|
|
136
|
+
)\
|
|
137
|
+
{\
|
|
138
|
+
inT32 argcount; /*converted argc*/\
|
|
139
|
+
char *testchar; /*char in option string*/\
|
|
140
|
+
inT32 arg; /*current argument*/\
|
|
141
|
+
\
|
|
142
|
+
argcount=0; /*no of options*/\
|
|
143
|
+
for (arg=0;arg<argc;arg++)\
|
|
144
|
+
{\
|
|
145
|
+
testchar=argv[arg]; /*start of arg*/\
|
|
146
|
+
do\
|
|
147
|
+
{\
|
|
148
|
+
while (*testchar\
|
|
149
|
+
&& (*testchar==' ' || *testchar=='"' || *testchar=='\n' || *testchar=='\t'))\
|
|
150
|
+
testchar++; /*skip white space*/\
|
|
151
|
+
if (*testchar)\
|
|
152
|
+
{\
|
|
153
|
+
arglist[argcount++]=testchar; /*new arg*/\
|
|
154
|
+
do\
|
|
155
|
+
{\
|
|
156
|
+
for (testchar++;*testchar\
|
|
157
|
+
&& *testchar!=' ' && *testchar!='"' && *testchar!='\n' && *testchar!='\t';\
|
|
158
|
+
testchar++); /*skip to white space*/\
|
|
159
|
+
}\
|
|
160
|
+
while (*testchar=='"' && testchar[1]!=' ' && testchar[1]!='\0' && testchar[1]!='\n' && testchar[1]!='\t');\
|
|
161
|
+
if (*testchar)\
|
|
162
|
+
*testchar++='\0'; /*turn to separate args*/\
|
|
163
|
+
}\
|
|
164
|
+
}\
|
|
165
|
+
while (*testchar);\
|
|
166
|
+
}\
|
|
167
|
+
return argcount; /*new number of args*/\
|
|
168
|
+
}\
|
|
169
|
+
\
|
|
170
|
+
inT32 main(inT32 ARGC,const char* ARGV[])\
|
|
171
|
+
|
|
172
|
+
#endif
|
|
173
|
+
|
|
174
|
+
#else
|
|
175
|
+
#error "NOT allowed to include nwmain.h or runmain.h twice!!"
|
|
176
|
+
#endif
|