mirror of
https://git.code.sf.net/p/zint/code
synced 2025-12-20 03:17:12 +00:00
gs1/gs1_lint: update to latest gs1-syntax-dictionary, removing
`iso3166list` linter and adjusting all others to allow for multiple optional linters (by checking `data_len` vs `offset`) library: change invalid `input_mode` reset to return warning; split func table into 2 - func declarations without prototype will be error in C23; make invalid symbology check a separate function using a table and call near beginning of `ZBarcode_Encode_Segs()`; in `ZBarcode_BarcodeName()` save some bytes by simplifying name table and removing "BARCODE_" prefix from entries output: fix pack logic to use pragma by default (actually more portable than `__attribute__`) common.h: remove C99 detection which was artifice of specifying "-std=", and rejig layout to be more logical BWIPP: update to latest version general: change `ZINT_VERSION_BUILD` tests to `#if`s general: further fiddling with some tables to save a few bytes CLI: change function arg `optarg` -> `arg` so doesn't shadow global general: library now compilable with Comp Cert C (though as it doesn't support `alloca()` will have multiple memory leaks)
This commit is contained in:
@@ -113,11 +113,13 @@ INTERNAL FILE *out_win_fopen(const char *filename, const char *mode);
|
||||
bp[3] = (unsigned char) ((*p_u32 >> 24) & 0xFF); \
|
||||
} while (0)
|
||||
|
||||
/* For more portability, use `#pragma pack()` pair for MSCV, per-type packed attribute otherwise */
|
||||
#ifdef _MSC_VER
|
||||
# define OUT_PACK
|
||||
/* If `#pragma pack()` not supported, try per-type packed attribute */
|
||||
#ifdef __COMPCERT__
|
||||
/* Can't use `__attribute__` as may be defined to be no-op by libc if not GNU C or Clang (e.g. glibc does this) */
|
||||
# define OUT_PACK __attribute((__packed__)) /* CompCert C workaround extension `__attribute` */
|
||||
#else
|
||||
# define OUT_PACK __attribute__((__packed__))
|
||||
# define OUT_USE_PRAGMA_PACK
|
||||
# define OUT_PACK
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user