frontend: batch: for @ use + instead of * on Windows as * not allowed

in filenames
GUI: sequence: similarly for * use + instead of * on Windows
This commit is contained in:
gitlost 2022-07-04 21:55:06 +01:00
parent d6dddfa2ce
commit 8525597b81
6 changed files with 40 additions and 24 deletions

View File

@ -341,12 +341,12 @@ each line of text in the right hand panel. The format field determines the
format of the automatically generated sequence where characters have the format of the automatically generated sequence where characters have the
meanings as given below: meanings as given below:
| Character | Effect | | Character | Effect |
|:-------------------|:------------------------| |:-------------------|:---------------------------------------------------|
|`#` | Insert leading spaces | |`$` | Insert leading zeroes |
|`$` | Insert leading zeroes | |`#` | Insert leading spaces |
|`*` | Insert leading asterisks| |`*` | Insert leading asterisks (or plus signs on Windows)|
|Any other character | Interpreted literally | |Any other character | Interpreted literally |
Table: {#tbl:sequence_format_characters tag=": Sequence Format Characters"} Table: {#tbl:sequence_format_characters tag=": Sequence Format Characters"}
@ -1243,10 +1243,10 @@ with `--batch` using special characters in the output filename as shown in the
table below: table below:
Input Character Interpretation Input Character Interpretation
--------------- ------------------------ --------------- ------------------------------------------
`~` Insert a number or 0 `~` Insert a number or 0
`#` Insert a number or space `#` Insert a number or space
`@` Insert a number or `*` `@` Insert a number or `*` (or `+` on Windows)
Any other Insert literally Any other Insert literally
Table: {#tbl:batch_filename_formatting tag=": Batch Filename Formatting"} Table: {#tbl:batch_filename_formatting tag=": Batch Filename Formatting"}
@ -1254,9 +1254,10 @@ Table: {#tbl:batch_filename_formatting tag=": Batch Filename Formatting"}
The following table shows some examples to clarify this method: The following table shows some examples to clarify this method:
Input Filenames Generated Input Filenames Generated
----------------- ------------------------------------------------ ----------------- ---------------------------------------------------
`-o file~~~.svg` `file001.svg`, `file002.svg`, `file003.svg` `-o file~~~.svg` `file001.svg`, `file002.svg`, `file003.svg`
`-o @@@@bar.png` `***1.png`, `***2.png`, `***3.png` `-o @@@@bar.png` `***1.png`, `***2.png`, `***3.png` (except Windows)
`-o @@@@bar.png` `+++1.png`, `+++2.png`, `+++3.png` (on Windows)
`-o my~~~bar.eps` `my001.bar.eps`, `my002.bar.eps`, `my003bar.eps` `-o my~~~bar.eps` `my001.bar.eps`, `my002.bar.eps`, `my003bar.eps`
`-o t@es~t~.png` `t*es0t1.png`, `t*es0t2.png`, `t*es0t3.png` `-o t@es~t~.png` `t*es0t1.png`, `t*es0t2.png`, `t*es0t3.png`

View File

@ -502,10 +502,10 @@ format of the automatically generated sequence where characters have the
meanings as given below: meanings as given below:
Character Effect Character Effect
--------------------- -------------------------- --------------------- -----------------------------------------------------
# Insert leading spaces
$ Insert leading zeroes $ Insert leading zeroes
* Insert leading asterisks # Insert leading spaces
* Insert leading asterisks (or plus signs on Windows)
Any other character Interpreted literally Any other character Interpreted literally
: Table : Sequence Format Characters: : Table : Sequence Format Characters:
@ -1319,10 +1319,10 @@ By default Zint will output numbered filenames starting with 00001.png,
below: below:
Input Character Interpretation Input Character Interpretation
----------------- -------------------------- ----------------- ----------------------------------------
~ Insert a number or 0 ~ Insert a number or 0
# Insert a number or space # Insert a number or space
@ Insert a number or * @ Insert a number or * (or + on Windows)
Any other Insert literally Any other Insert literally
: Table : Batch Filename Formatting: : Table : Batch Filename Formatting:
@ -1330,9 +1330,10 @@ below:
The following table shows some examples to clarify this method: The following table shows some examples to clarify this method:
Input Filenames Generated Input Filenames Generated
----------------- -------------------------------------------- ----------------- -----------------------------------------------
-o file~~~.svg file001.svg, file002.svg, file003.svg -o file~~~.svg file001.svg, file002.svg, file003.svg
-o @@@@bar.png ***1.png, ***2.png, ***3.png -o @@@@bar.png ***1.png, ***2.png, ***3.png (except Windows)
-o @@@@bar.png +++1.png, +++2.png, +++3.png (on Windows)
-o my~~~bar.eps my001.bar.eps, my002.bar.eps, my003bar.eps -o my~~~bar.eps my001.bar.eps, my002.bar.eps, my003bar.eps
-o t@es~t~.png t*es0t1.png, t*es0t2.png, t*es0t3.png -o t@es~t~.png t*es0t1.png, t*es0t2.png, t*es0t3.png

View File

@ -702,7 +702,8 @@ static int batch_process(struct zint_symbol *symbol, const char *filename, const
} else { } else {
file = fopen(filename, "rb"); file = fopen(filename, "rb");
if (!file) { if (!file) {
sprintf(symbol->errtxt, "102: Unable to read input file '%s'", filename); fprintf(stderr, "Error 102: Unable to read input file '%s'\n", filename);
fflush(stderr);
return ZINT_ERROR_INVALID_DATA; return ZINT_ERROR_INVALID_DATA;
} }
} }
@ -765,7 +766,11 @@ static int batch_process(struct zint_symbol *symbol, const char *filename, const
adjusted[0] = reverse_number[inpos - 1]; adjusted[0] = reverse_number[inpos - 1];
inpos--; inpos--;
} else { } else {
#ifndef _WIN32
adjusted[0] = '*'; adjusted[0] = '*';
#else
adjusted[0] = '+';
#endif
} }
break; break;
default: default:

View File

@ -469,6 +469,11 @@ static void test_input(int index, int debug) {
#define TEST_INPUT_LONG "test_67890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" #define TEST_INPUT_LONG "test_67890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
#ifndef _WIN32
#define TEST_INPUT_AMPERSAND_EXPECTED "***1.gif\000***2.gif"
#else
#define TEST_INPUT_AMPERSAND_EXPECTED "+++1.gif\000+++2.gif"
#endif
struct item { struct item {
int b; int b;
int batch; int batch;
@ -485,7 +490,7 @@ static void test_input(int index, int debug) {
struct item data[] = { struct item data[] = {
/* 0*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "", 2, "00001.gif\00000002.gif" }, /* 0*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "", 2, "00001.gif\00000002.gif" },
/* 1*/ { BARCODE_CODE128, 1, -1, 0, "gif", "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", "~~~.gif", 10, "001.gif\000002.gif\000003.gif\000004.gif\000005.gif\000006.gif\000007.gif\000008.gif\000009.gif\000010.gif" }, /* 1*/ { BARCODE_CODE128, 1, -1, 0, "gif", "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n", "~~~.gif", 10, "001.gif\000002.gif\000003.gif\000004.gif\000005.gif\000006.gif\000007.gif\000008.gif\000009.gif\000010.gif" },
/* 2*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "@@@@.gif", 2, "***1.gif\000***2.gif" }, /* 2*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "@@@@.gif", 2, TEST_INPUT_AMPERSAND_EXPECTED },
/* 3*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n789\n", "#####.gif", 3, " 1.gif\000 2.gif\000 3.gif" }, /* 3*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n789\n", "#####.gif", 3, " 1.gif\000 2.gif\000 3.gif" },
/* 4*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "test_batch~.gif", 2, "test_batch1.gif\000test_batch2.gif" }, /* 4*/ { BARCODE_CODE128, 1, -1, 0, "gif", "123\n456\n", "test_batch~.gif", 2, "test_batch1.gif\000test_batch2.gif" },
/* 5*/ { BARCODE_CODE128, 1, -1, 1, "gif", "123\n456\n7890123456789\n", NULL, 3, "123.gif\000456.gif\0007890123456789.gif" }, /* 5*/ { BARCODE_CODE128, 1, -1, 1, "gif", "123\n456\n7890123456789\n", NULL, 3, "123.gif\000456.gif\0007890123456789.gif" },

View File

@ -119,9 +119,9 @@
<widget class="QLabel" name="lblSeqFormat"> <widget class="QLabel" name="lblSeqFormat">
<property name="toolTip"> <property name="toolTip">
<string>Format sequence using special characters&lt;table cellspacing=&quot;3&quot;&gt; <string>Format sequence using special characters&lt;table cellspacing=&quot;3&quot;&gt;
&lt;tr&gt;&lt;td&gt;#&lt;/td&gt;&lt;td&gt;Number or space&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;$&lt;/td&gt;&lt;td&gt;Number or '0'&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;$&lt;/td&gt;&lt;td&gt;Number or '0'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;Number or '*'&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;#&lt;/td&gt;&lt;td&gt;Number or space&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;Number or '*' ('+' on Windows)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Other&lt;/td&gt;&lt;td&gt;Insert literally&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Other&lt;/td&gt;&lt;td&gt;Insert literally&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</string> &lt;/table&gt;</string>
</property> </property>
@ -137,9 +137,9 @@
<widget class="QLineEdit" name="linSeqFormat"> <widget class="QLineEdit" name="linSeqFormat">
<property name="toolTip"> <property name="toolTip">
<string>Format sequence using special characters&lt;table cellspacing=&quot;3&quot;&gt; <string>Format sequence using special characters&lt;table cellspacing=&quot;3&quot;&gt;
&lt;tr&gt;&lt;td&gt;#&lt;/td&gt;&lt;td&gt;Number or space&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;$&lt;/td&gt;&lt;td&gt;Number or '0'&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;$&lt;/td&gt;&lt;td&gt;Number or '0'&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;Number or '*'&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;#&lt;/td&gt;&lt;td&gt;Number or space&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;Number or '*' ('+' on Windows)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Other&lt;/td&gt;&lt;td&gt;Insert literally&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Other&lt;/td&gt;&lt;td&gt;Insert literally&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</string> &lt;/table&gt;</string>
</property> </property>

View File

@ -120,7 +120,11 @@ QString SequenceWindow::apply_format(const QString& raw_number)
adjusted += raw_number[inpos - 1]; adjusted += raw_number[inpos - 1];
inpos--; inpos--;
} else { } else {
#ifndef _WIN32
adjusted += '*'; adjusted += '*';
#else
adjusted += '+';
#endif
} }
break; break;
default: default:
@ -129,7 +133,7 @@ QString SequenceWindow::apply_format(const QString& raw_number)
} }
} }
for(i = format_len; i > 0; i--) { for (i = format_len; i > 0; i--) {
reversed += adjusted[i - 1]; reversed += adjusted[i - 1];
} }