mirror of
https://git.code.sf.net/p/zint/code
synced 2026-07-31 02:19:50 +00:00
CLI: make --mirror available in standard non-batch mode via
new routines `mirror_start()`, `mirror_outfile()` & limit substitutions on Unix to backslash (Windows remains the same); restrict "borderwidth", "textgap", "vwhitesp", "whitesp" < 100 CODEONE: fix `ceilf()` -> `C1_MULT_CEIL()` in FAST_MODE encodation (improves/changes some encodation) composite: preserve `gs1_verify()` warning using `warn_level` hack; fix wrong name `zint_dbar_omnstk_set_height()` -> `zint_dbar_stk_set_height()`; use new `zint_micropdf_variant()` & `zint_micropdf_expand()` routines (see below) MICROPDF417: move variant determination into new shareable routine `zint_micropdf_variant()` & expansion into `zint_micropdf_expand()` qzint: add helper methods `setbordertypevalue()`, `encodedinputmode()`, `encodedoutputoptions()`, `ecivaluetoeciindex()` and `eciindextoecivalue()` dbar: for performance pre-calculate `combins()` as array coverage: add `malloc()`-type failure testing to AZTEC, CONTENT_SEGS, MEMORY_FILE, raster, Reed-Solomon & vector; numerous changes to remove unused code and test more branches common: add `isxdigit()` general: various code fiddlings manual: add char names to sequence and batch format char tables; mention long options can be shortened (& use "--compliantheight" -> "--compliant"); expand mirror explanation & document substitutions in footnote; workaround xecjk putting space after double quote when quoting cjk chars & rejig input mode examples; workaround html alignment bug in table gs1-enabled symbologies by adding extra rh dashes to header cols; add "figure nn: " to txt image tags via sed: various other small fixes and rephrasings
This commit is contained in:
@@ -34,25 +34,25 @@
|
||||
#define Z_AZTEC_TRACE_H
|
||||
|
||||
static void AZ_TRACE_EdgeToString(char *buf, const unsigned char *source, const int length, const char initial_mode,
|
||||
struct az_edge *edges, struct az_edge *edge) {
|
||||
struct az_edge *edges, struct az_edge *edge) {
|
||||
struct az_edge *previous_edge = AZ_PREVIOUS(edges, edge);
|
||||
int previousMode = previous_edge ? previous_edge->mode : initial_mode;
|
||||
int previous = previous_edge ? (int) (previous_edge - edges) : 0;
|
||||
int current = (int) (edge - edges);
|
||||
int previous = previous_edge ? (int) (previous_edge - edges) : 0;
|
||||
int current = (int) (edge - edges);
|
||||
(void)length;
|
||||
if (buf) {
|
||||
sprintf(buf, "%d_%c_%d %c(%d,%d) %d -> %d_%c_%d",
|
||||
edge->from, az_mode_char(previousMode), previous, az_mode_char(edge->mode), source[edge->from], edge->len,
|
||||
edge->size, edge->from + 1, az_mode_char(edge->mode), current);
|
||||
edge->size, edge->from + 1, az_mode_char(edge->mode), current);
|
||||
} else {
|
||||
printf("%d_%c_%d %c(%d,%d) %d -> %d_%c_%d",
|
||||
edge->from, az_mode_char(previousMode), previous, az_mode_char(edge->mode), source[edge->from], edge->len,
|
||||
edge->size, edge->from + 1, az_mode_char(edge->mode), current);
|
||||
edge->size, edge->from + 1, az_mode_char(edge->mode), current);
|
||||
}
|
||||
}
|
||||
|
||||
static void AZ_TRACE_Path(const unsigned char *source, const int length, const char initial_mode,
|
||||
struct az_edge *edges, struct az_edge *edge, char *result, const int result_size) {
|
||||
struct az_edge *edges, struct az_edge *edge, char *result, const int result_size) {
|
||||
struct az_edge *current;
|
||||
AZ_TRACE_EdgeToString(result, source, length, initial_mode, edges, edge);
|
||||
current = AZ_PREVIOUS(edges, edge);
|
||||
|
||||
Reference in New Issue
Block a user