Schaich
e7947dc9a4
Merge String Constant
...
The `CALCIUM` "name" is a macro which expands to a string constant.
Referencing the macro twice will cause it to be expanded twice, resulting
in two string instances which have identical content. By default, gcc will
deduplicate these two strings into the same memory region as gcc detects
the duplicated constant, even when optimization turned off (see
-fmerge-constants and -fmerge-all-constants GCC options).
The C Language specification does not require duplicated constants to be
deduplicated, and, in fact, the GCC manual page also explicitly states
this optimization is not performed for all targets.
Visual C++, in debug mode, does not deduplicate constants. This results
in `count += strchr(CALCIUM,x) - CALCIUM` yielding to negative values as
the substracted CALCIUM's expansion resides on a greater memory address
then the memory allocated for the expansion passed to `strchr`. The
value of `count` is used to compute the checksum, which then is not only
faulty, but also used as an array index without previously checking
whether or not the index is within the array bounds (modulo of a negative
integer is negative, which means out of bounds). This will cause very
difficult to predict behavior, in most cases, however, it will cause a
segmentation fault.
Manually allocate a memory range to contain the string, and use
this range instead of expanding the macro multiple times.
2021-06-10 20:29:04 +09:00
gitlost
4a8cac2a5a
CODEONE/DATAMATRIX/MAILMARK/PLESSEY: fix some 32-bit/portability bugs
...
PLESSEY: add options NCR weighted mod-10, hide check digit(s) in HRT
test suite: now runnable under MSVC 2019, 2017, 2015, MinGW/MSYS
win32/README: update with MSVC 2019 and CMake instructions
2021-06-10 11:15:39 +01:00
Schaich
f471bb6e50
Export the INTERNAL functions
...
The testcommon library, which is outside of this link unit, is
referencing the INTERNAL functions, so despite the name they
need to be exported. The export code is copy&pasted from the
ZINT_EXTERN definition which can't be reused over preprocessor
limitations.
We might just use ZINT_EXTERN instead though
2021-06-02 21:14:14 +09:00
Schaich
00199c7ef5
The zint
library always is shared
...
The SHARED attribute is forced via the add_library, so the default
value of cmake is ignored. Also, this option should obviously not
be set for the `zint-static` library
2021-06-02 21:14:14 +09:00
Schaich
2221cb1e83
Fix "most" compilation issues MSVC has
...
test_library is still broken
2021-06-02 21:14:14 +09:00
Schaich
88bbeb862b
Move getopt out of the frontend, because it's used in the backend's test, too
2021-06-02 21:14:14 +09:00
Schaich
779a318c93
The testRun function uses getopt(), which is troublesome because the bundled implementation is part of the front-end
2021-06-02 21:14:14 +09:00
Schaich
3114a6697b
Factor out the zint_add_test macro
2021-06-02 21:14:14 +09:00
Schaich
9ff3f13c19
Optionalize the PNG and the Qt dependencies
...
Expose the ability to turn these dependencies off, which results in reduced
functionality. However, it enables a developer using the zint library to
instruct cmake to build a libzint as deployed by e.g. build servers which
don't have png/zint installed, without having to uninstall those libraries
from the development system
2021-06-02 21:14:14 +09:00
Schaich
fd656358a3
Add zint-test's testcommon include directory to consumers of the library
2021-06-02 21:14:14 +09:00
Schaich
3f7356e262
Adapt the README
2021-06-02 21:14:14 +09:00
Schaich
eabaf54d74
Test both the dynamic and the static library
2021-06-02 21:14:14 +09:00
Schaich
e5cd0e4ee8
Remove superfluous commas
...
CMake separates by spaces, not commas. Remove the commas from the strings
2021-06-02 21:14:14 +09:00
Schaich
6de8fe1c62
Move only downwards in the filesystem hierarchy
...
This will pick up the local copies of the test data by default, without
needing to create a subdirectory in the backend/tests path and executing
the tests from there. The Current Working Directory can be set if this
proves to be insufficient
2021-06-02 21:14:14 +09:00
Schaich
98cd7b231f
Copy the test data into the build directory (just in case)
2021-06-02 21:14:14 +09:00
Schaich
c84915e212
Linking the tests against zint-static if available
...
Linking against the dynamic zint library requires LD_LIBRARY_PATH and friends
to be set, which complicates the test setup. On the long run, we want to be
able to test both the dynamic and the static (at the same time), though
2021-06-02 21:14:14 +09:00
Schaich
acd12e1754
Add and use helper to set all flags to both the shared and the static library
2021-06-02 21:14:14 +09:00
Schaich
3e89058051
Turn zint tests into a subproject of backend
...
All dependency handling is implied via linking to the zint target. Options
are inherited from the backend build
2021-06-02 21:14:14 +09:00
Schaich
83bac8c8a5
Bind macro definitions to the zint library target
...
The libpng dependency is exported to consumers, while the ZINT_TEST option
affects the build output. Both are therefore marked public
2021-06-02 21:14:14 +09:00
gitlost
9b63e2ae22
DOTCODE: allow for max 200 cols in CLI, GUI, Tcl; more detailed size error messages
2021-05-28 15:05:06 +01:00
gitlost
dfb9345b75
png: ULTRA: allow for fgcolour if bind/box, bug introduced by [ed3cc5] (MR #111 )
2021-05-28 14:37:57 +01:00
gitlost
0337548c77
AZTEC: optimize populate_map (good for small data)
2021-05-27 18:33:19 +01:00
gitlost
00e8cb0904
Add whitespace_height to zint_symbol (vertical whitespace)
2021-05-25 20:42:26 +01:00
gitlost
f3a94f0c0c
C25STANDARD/C25INTER/C25IATA/C25LOGIC/C25IND: add check digit option ( #216 )
2021-05-17 20:04:00 +01:00
gitlost
29d761c795
MAXICODE: Rejig raster output to more closely match ISO 16023:2000
2021-05-16 16:34:42 +01:00
gitlost
79d3c1dc7a
Add GS1PARENS_MODE (input_mode) to allow inputting GS1 AIs in parentheses
2021-05-15 12:23:46 +01:00
gitlost
6fb0d077bc
EAN14, NVE18: fix checksum calc for zero-filled input
2021-05-14 16:04:34 +01:00
gitlost
d9e8ae582d
tests: small additions for AZTEC READER_INIT, PDF417, Big5
2021-04-20 11:49:14 +01:00
gitlost
5187f2226d
MAXICODE: fix shifting from sets C/D/E to A/B (only latch available)
2021-03-28 21:31:45 +01:00
gitlost
89518c4f01
tif.c: fix endianness detection, props Schaich Alonso
2021-03-23 15:37:18 +00:00
gitlost
6dc8a242df
test_tif: fix, use tiffinfo if available (big speedup)
2021-03-21 21:20:16 +00:00
gitlost
2d962c6321
get_best_eci: check UTF-8 before returning 26; move is_valid_utf8 to common
2021-03-21 17:35:52 +00:00
gitlost
7f74414666
eci.c: fix bad bug in Korean, return EUC-KR instead of raw KS X 1001
2021-03-20 14:36:21 +00:00
gitlost
2c053c325a
tif.c: Use palette/bilevel/LZW to reduce file size, alpha/CMYK support
2021-03-19 13:09:21 +00:00
gitlost
badd9e59ad
Fix UPCEAN small font ignored/disabled (introduced [1adba1])
2021-03-19 00:12:13 +00:00
gitlost
4e501c77da
MAXICODE: fix mask typos for ECI 3/4 bytes
2021-03-18 16:21:22 +00:00
gitlost
14f67331c2
#223 Use cmake options to interface command line parameters, props Schaich Alonso
2021-03-16 23:38:47 +00:00
gitlost
20663b4eed
Update gen_gs1_lint.php re new Digital Link dlpkey in gs1-format-spec.txt
2021-03-15 15:27:20 +00:00
gitlost
09e7427259
png.c: suppress clobbered warning by moving init of vars from stack
2021-03-11 11:59:30 +00:00
gitlost
7a7210cfa1
testcommon.c: Suppress unused args warning in testUtilCmpPngs if NO_PNG
2021-03-08 13:14:38 +00:00
gitlost
d81b5db271
#220 backend/tests cmake: Use PNG::PNG for libpng (cf #213 ), props Schaich Alonso
2021-03-08 12:34:34 +00:00
gitlost
6b7b5109b9
png.c: fix 4-bit odd bitmap width bug introduced by [ed3cc5] (MR #111 )
2021-03-05 17:27:11 +00:00
gitlost
ed3cc51a46
png.c: Use palette for file size savings
2021-02-26 20:45:08 +00:00
gitlost
7f8c8114f3
#218 Prevent buffer overflow in ean_leading_zeroes by checking max lengths
2021-02-25 17:14:49 +00:00
gitlost
88d1a9f625
DATAMATRIX: make EOD encodation strictly ISO 16022 compliant
2021-02-23 00:01:15 +00:00
gitlost
63053c4c0f
Update gs1_lint.h re initial index in gs1-format-spec.txt
2021-02-22 19:05:24 +00:00
gitlost
7bdb7cd8c2
Update gen_gs1_lint.php, gs1_lint.h re fixed length * position in gs1-format-spec.txt
2021-02-20 22:38:20 +00:00
gitlost
9d023a806a
Update gen_gs1_lint.php, gs1_lint.h re new # Data title in gs1-format-spec.txt
2021-02-20 17:50:06 +00:00
gitlost
2ba7a99db3
Update gen_gs1_lint.php, gs1_lint.h re new fixed length * in gs1-format-spec.txt
2021-02-19 21:10:53 +00:00
gitlost
ebcd0a0d6d
#209 large.c fix oversized arrays by 0-filling; const args, casts
2021-02-11 13:51:07 +00:00
gitlost
4875a3bcac
#209 ps.c move string loop inside if string check
2021-02-10 22:37:59 +00:00
gitlost
b3610d3c43
#209 font.h guard; improve gs1 c82 check, code1 num_digits
2021-02-09 02:51:36 +00:00
gitlost
a91933cbdd
gs1_verify: GMN (8013) update (gs1-format-spec.txt), X..25, csumalpha
2021-02-08 02:45:11 +00:00
gitlost
6274140c73
CODEONE: various fixes, ECI support; #209
2021-02-05 23:55:24 +00:00
gitlost
538efd6e52
gs1_verify: 4308 no pcenc (gs1-format-spec.txt); GS1 General Spec 21.0.1
2021-01-28 23:41:54 +00:00
gitlost
f6bed3acb2
DOTCODE: Fix best_mask -> high_score prime test; manual mask
2021-01-22 18:07:59 +00:00
gitlost
484bd6e19a
CLI: Handle UTF-8 args on Windows; -b <barcode name>
2021-01-20 21:15:03 +00:00
gitlost
4efbd46f86
gs1_verify: update bwipp_dump
2021-01-19 17:58:22 +00:00
gitlost
f9300cb37e
gs1_verify: validate AIs from BWIPP gs1-format-spec.txt
2021-01-18 20:10:52 +00:00
gitlost
0b80592f87
escape_char_process: "\xNN" simple convert (reverts [dddf29]), "\uNNNN" BMP check
2021-01-15 14:22:32 +00:00
gitlost
b999c11414
library: strip_bom: copy NUL; error_tag: defensively truncate, return error
2021-01-12 19:51:54 +00:00
gitlost
e1e0aa7ac4
eci: All ECIs: update CLI main.c and tcl zint.c
2021-01-12 14:11:53 +00:00
gitlost
7fe930b4dc
eci: Add support for all ECIs (Big5, Korean, UCS-2BE)
2021-01-11 18:11:41 +00:00
gitlost
e198a40b3a
#209 AZTEC_RUNE casts
2020-12-23 11:12:36 +00:00
gitlost
f62a678d0f
#209 suppress CodeQL warnings except CODEONE; simplifications AZTEC_RUNE, MICROPDF417
2020-12-23 10:57:24 +00:00
gitlost
bee5f08f50
#209 rss.c, composite.c; DBAR_EXP encodation methods; symbol NO_PNG out.gif
2020-12-21 19:30:07 +00:00
gitlost
2b85585e69
MAXICODE: scmvv option #212 ; postcode needn't be space-filled
2020-12-19 17:13:35 +00:00
gitlost
0ef9fdf684
AZTEC: lessen stack usage by sharing buffer between bit_pattern and binary_string
2020-12-18 03:05:08 +00:00
gitlost
f09826b9a4
ZBarcode_Encode_File: suppress gcc -fanalyzer warning, props Andre Maute; ZINT_MAX_FILE_LEN
2020-12-18 02:36:48 +00:00
gitlost
acdfc73cce
gif: move fopen down to avoid possible FILE leak, props Andre Maute
2020-12-17 17:18:43 +00:00
gitlost
6fb82dc13d
AZTEC: use short for AztecMap to avoid issues on Windows with VS2017
2020-12-17 14:23:23 +00:00
gitlost
2c3c7293d0
AZTEC: Test example from Andre Maute, mailing list 2020-12-16
2020-12-16 16:19:30 +00:00
gitlost
fe70911ea3
QRCODE: fix dark mods count and percentage calc broken by [cd214a]
2020-12-10 19:48:52 +00:00
gitlost
6322c0c2b0
#213 Use PNG::PNG for libpng, require cmake 3.5, props Schaich Alonso
2020-11-30 15:51:14 +00:00
gitlost
8e0078695c
hx_define_mode() if/else; qr.h tabs
2020-11-27 15:24:37 +00:00
gitlost
cd214addba
HANXIN: 0xFFE terminator; reedsol/AZTEC: stack-based; AZTEC/HANXIN/QR/GRIDMATRIX speedups; #209
2020-11-27 12:54:44 +00:00
gitlost
4b7561ab29
Remove further refs to QZint; win32/README; add zintconfig.h to Win make files
2020-11-24 22:22:12 +00:00
Robin Stuart
f545075162
Add explicit zintconfig.h for non-Cmake Windows build
2020-11-24 07:03:03 +00:00
Robin Stuart
3eb31fe3f8
Take version information from CmakeLists.txt
...
Warning: potential incompatibility because version number is no longer stored in zint.h
2020-11-22 11:29:45 +00:00
gitlost
44923349f3
PDF417/raster: performance large data; common.h inline, module_colour_is_set(); #209
2020-11-01 18:32:55 +00:00
gitlost
943ba79866
AZTEC: fix bit-stuffing; AZTECRUNE: fix >= 128; DATAMATRIX: eod shift -> 0 pad; Qt6
2020-10-26 12:21:43 +00:00
gitlost
90012ab23f
EANX_CC: allow for check digit + buffer overflow for too long add-on; GUI text colour; cmake 3.0
2020-10-05 23:22:06 +01:00
gitlost
0617a5fec0
GUI: tooltip tables too spaced; tests: Ultracode READER_INIT, more signedness fixes
2020-10-04 14:27:28 +01:00
Robin Stuart
5a8bbb28f0
Ultracode: Fix miscalculation of number of codewords when using reader initialisation
2020-10-04 10:32:57 +01:00
gitlost
e37a82a8f1
Tabs/typo in zint.h; PostNet -> POSTNET; ui: shortcuts, tooltips; tests inkscape -> libreoffice
2020-10-03 22:51:08 +01:00
gitlost
36c19053d7
vector.c: string halign; POSTNET/PLANET: 1 module space; ZBarcode_Cap(); GUI settings
2020-09-30 12:19:12 +01:00
gitlost
3f5ac34057
DATAMATRIX: avoid unnecessary latch in X12 mode at end of data, #208
2020-09-28 19:46:23 +01:00
gitlost
5a272d17ce
raster: reduce UPCEAN letter_gap to 4 (too close to guards at 5)
2020-09-14 23:24:49 +01:00
gitlost
1adba12fce
raster: fix text not scaling for half_int_scaling; UPCEAN font
2020-09-13 13:37:15 +01:00
gitlost
e41cb71fd1
DBAR_LTD: add 5 right guard spaces (ISO/IEC 24723:2010 6.2 (e))
2020-09-11 08:07:21 +01:00
gitlost
ac7b5dd282
#206 build: version to 2.9.1.9; ZINT_VERSION_BUILD (9 dev); tools/update_version.php
2020-09-04 16:38:11 +01:00
gitlost
caf46ed69b
#205 library: Make dpd_parcel() signature consistent, props Pierre Y.
2020-09-03 16:36:57 +01:00
Robin Stuart
9f5ae4cbb2
First stage at creating ZPL compatability mode
...
Partly resolves #142 and relates to discussion in #197
2020-08-22 11:09:57 +01:00
gitlost
4853b4d851
test_bmp/emf/print/ultra: update after pixel/colour changes, new test_ps
2020-08-12 22:16:11 +01:00
Git Lost
09e6d09e6b
Merge /u/gitlost/zint/ branch out_buffer_intermediate into master
...
https://sourceforge.net/p/zint/code/merge-requests/84/
2020-08-12 19:07:56 +00:00
Robin Stuart
bc63b21cb4
Bugfix: Ultra colours not displayed in EMF
2020-08-12 15:10:48 +01:00
Robin Stuart
b5e27d3e0b
Better compression for Ultracode in BMP
...
Also corrects colour shifting bug
File size is still bigger than it needs to be for Ultracode, but now uses 4bpp
2020-08-12 13:19:56 +01:00
Robin Stuart
20f767c4b6
Force white squares (not same as bgcolour) in Ultracode
2020-08-12 12:19:26 +01:00
gitlost
50ecc5bbe4
raster: #197 OUT_BUFFER_INTERMEDIATE fix memory leak (caught by clang-tidy)
2020-08-12 11:20:24 +01:00
gitlost
2153ed416c
test_print: refresh BMPs after 1 bit per pixel change
2020-08-12 08:37:11 +01:00