Warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _access.
Signed-off-by: Noah Metzger <noah.metzger@bib.uni-mannheim.de>
Use the predefined macros for the lengths of drive, dir and path.
This avoids potential buffer overruns.
Show also an error message in case of a too long path.
Signed-off-by: Noah Metzger <noah.metzger@bib.uni-mannheim.de>
The method is called with a float argument several times, and the
previous implementation which only supported a double argument
resulted in type conversions and compiler warnings.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
This fixes a compiler warning. The variable is unused since commit
0e95e2ca87.
Remove also a related code comment.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1164532 'Constant' variable guards dead code
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1164594 Argument cannot be negative
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1164597 Argument cannot be negative
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1366447 Argument cannot be negative
Fix also the data type for current_pos, as ftell returns a long value.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1270404 Arguments in wrong order
This does not change the code, but should help Coverity Scan to see
that the argument order is as intended.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
This allows further simplifications for the version handling.
Move the implementation for the constructors from .h file to .cpp file
to reduce dependencies.
Remove unneeded include statements from the .h file to reduce more
dependencies.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* api: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccmain: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccstruct: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* classify: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* cutil: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* dict: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* textord: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* training: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* wordrec: Replace Tesseract data types by POSIX data types
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccutil: Replace Tesseract data types by POSIX data types
Now all Tesseract data types which are no longer needed can be removed
from ccutil/host.h.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccmain: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccstruct: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* classify: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* dict: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* lstm: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* textord: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* wordrec: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* ccutil: Replace Tesseract's MIN_*INT, MAX_*INT* by POSIX *INT*_MIN, *INT*_MAX
Remove the macros which are now unused from ccutil/host.h.
Remove also the obsolete history comments.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix build error caused by ambiguous ClipToRange
Error message vom Appveyor CI:
C:\projects\tesseract\ccstruct\coutln.cpp(818): error C2672: 'ClipToRange': no matching overloaded function found [C:\projects\tesseract\build\libtesseract.vcxproj]
C:\projects\tesseract\ccstruct\coutln.cpp(818): error C2782: 'T ClipToRange(const T &,const T &,const T &)': template parameter 'T' is ambiguous [C:\projects\tesseract\build\libtesseract.vcxproj]
c:\projects\tesseract\ccutil\helpers.h(122): note: see declaration of 'ClipToRange'
C:\projects\tesseract\ccstruct\coutln.cpp(818): note: could be 'char'
C:\projects\tesseract\ccstruct\coutln.cpp(818): note: or 'int'
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* unittest: Replace Tesseract's MAX_INT8 by POSIX INT8_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* arch: Replace Tesseract's MAX_INT8 by POSIX INT8_MAX
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Replace the Tesseract specific data types in header files which are
part of Debian package libtesseract-dev by POSIX data types.
Update also matching cpp files.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
gcc reports this warning about 250 times:
ccutil/genericvector.h:378:48: warning:
comparison between signed and unsigned integer expressions [-Wsign-compare]
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Fix 306 warnings from MS C:
tesseract\ccutil\unicharset.h(242): warning C4267:
'argument': conversion from 'size_t' to 'int', possible loss of data
The change also avoids some type conversions.
The related code in training/util.h now uses the GOOGLE_TESSERACT macro
to enable Google specific code to disable heap checking.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Remove old code for string class (no longer needed)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Add std namespace to string class
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Dereference pointer after NULL check (CID 1385638)
Move the statement which dereferences the pointer variable "current"
after the NULL check.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Dereference pointer after NULL check (CID 1385635)
Move the statement which dereferences the pointer variable "current"
after the NULL check.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Dereference pointer after NULL check (CID 1385634)
Move the statement which dereferences the pointer variable "current"
after the NULL check.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix CID 1164527 'Constant' variable guards dead code
Signed-off-by: Stefan Weil <sw@weilnetz.de>
ftell returns a long value which can be negative when an error occurred.
It returns LONG_MAX for directories.
Both cases were not handled by the old code.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
This fixes these compiler warnings:
ccmain/equationdetect.cpp:1519:2: warning: extra ‘;’ [-Wpedantic]
ccstruct/blobs.cpp:65:17: warning: extra ‘;’ [-Wpedantic]
ccstruct/blobs.h:178:18: warning: extra ‘;’ [-Wpedantic]
ccstruct/ratngs.cpp:36:22: warning: extra ‘;’ [-Wpedantic]
ccstruct/ratngs.cpp:37:22: warning: extra ‘;’ [-Wpedantic]
ccutil/ambigs.cpp:46:20: warning: extra ‘;’ [-Wpedantic]
ccutil/ambigs.h:137:21: warning: extra ‘;’ [-Wpedantic]
cutil/structures.cpp:36:45: warning: extra ‘;’ [-Wpedantic]
textord/equationdetectbase.cpp:65:2: warning: extra ‘;’ [-Wpedantic]
textord/equationdetectbase.h:57:2: warning: extra ‘;’ [-Wpedantic]
wordrec/lm_state.cpp:25:28: warning: extra ‘;’ [-Wpedantic]
wordrec/lm_state.h:190:29: warning: extra ‘;’ [-Wpedantic]
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Compiler warning:
ccutil/unicharcompress.cpp:76:76: warning: format ‘%x’ expects argument of type ‘unsigned int*’, but argument 3 has type ‘int*’ [-Wformat=]
ccutil/unicharcompress.cpp:80:31: warning: format ‘%x’ expects argument of type ‘unsigned int*’, but argument 3 has type ‘int*’ [-Wformat=]
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Replacing inttypes.h by cinttypes fixes a problem with glibc < 2.18:
In older inttypes.h, the standard C format macros are only defined for
C++ when the macro __STDC_FORMAT_MACROS is set.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Several code locations call that method with a normal C string,
so overload it to accept that without a conversion to a STRING
object. This saves unneeded new / memcpy / delete operations.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Tesseract crashes with an unhandled exception (std::bad_alloc) if it gets
a bad tessdata file where the numEntries data field is very large (also
after swapping), for example 0x77777777.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
It's not necessary to initialize the vector with 0,
because the initial values are read from file.
Fix also an assertion when trying to read an empty file.
Signed-off-by: Stefan Weil <sw@weilnetz.de>