for (i=70;i<70+10; i++) buf[i] = '0'; /* A10 */
for (i=80;i<80+48; i++) buf[i] = ' '; /* A11 */
#ifdef DEFAULT_EURO
- buf[127] = '1'; /* A12 (Currency) */
+ buf[recA[A_EURO].pos] = '1'; /* A12 (Currency) */
#else
if (use_euro)
- buf[127] = '1'; /* A12 (Currency) */
+ buf[recA[A_EURO].pos] = '1'; /* A12 (Currency) */
else
- buf[127] = ' '; /* A12 (Currency) */
+ buf[recA[A_EURO].pos] = ' '; /* A12 (Currency) */
#endif
}
for (i=31;i<31+13; i++) buf[i] = '0'; /* C6 */
buf[49] = ' '; /* C8 */
for (i=50;i<50+11; i++) buf[i] = '0'; /* C9 (Betrag) */
- for (i=79;i<79+11; i++) buf[i] = '0'; /* C12 (Euro) */
+ for (i=79;i<79+11; i++) buf[i] = '0'; /* C12 (Betrag Euro) */
for (i=90;i<90+3; i++) buf[i] = ' '; /* C13 */
for (i=93;i<90+27; i++) buf[i] = ' '; /* C14a (Kunde) */
for (i=120;i<120+8; i++) buf[i] = ' '; /* C14b */
#ifdef DEFAULT_EURO
- buf[182] = '1'; /* C17a (Currency) */
+ buf[recC[C_EURO].pos] = '1'; /* C17a (Currency) */
#else
if (use_euro)
- buf[182] = '1'; /* C17a (Currency) */
+ buf[recC[C_EURO].pos] = '1'; /* C17a (Currency) */
else
- buf[182] = ' '; /* C17a (Currency) */
+ buf[recC[C_EURO].pos] = ' '; /* C17a (Currency) */
#endif
for (i=183;i<183+2; i++) buf[i] = ' '; /* C17b */
for (i=187;i<187+(29*2); i++) buf[i] = ' '; /* C19-C22 (misc text) */
fprintf(fcontrol, "BEGIN {\n");
bufp = buf;
- for (index=A_TRANS; index < A_DATE; index++) {
+#ifndef DEFAULT_EURO
+ for (index=A_TRANS; index <= A_EURO; index++) {
+#else
+ for (index=A_TRANS; index < A_EURO; index++) {
+#endif
bufp = buf + recA[index].pos;
memcpy(tmp, bufp, recA[index].len); tmp[recA[index].len] = '\0';
printctln(fcontrol, recA[index].name, strip_zeros(strip_spaces(tmp)));
}
- index = A_DATE; bufp = buf + recA[index].pos;
- memcpy(tmp, bufp, recA[index].len); tmp[recA[index].len] = '\0';
- printctln(fcontrol, recA[index].name, strip_spaces(tmp));
-
- index = A_EURO; bufp = buf + recA[index].pos;
- memcpy(tmp, bufp, recA[index].len); tmp[recA[index].len] = '\0';
- printctln(fcontrol, recA[index].name, strip_zeros(strip_spaces(tmp)));
+#ifndef DEFAULT_EURO
+ if (tmp[recA[index].pos] == '1')
+ use_euro = 1;
+#endif
fprintf(fcontrol, "}\n\n");
} else {
} else {
fprintf(fcontrol, "{\n");
- for (index=C_NAME; index <= C_EURO; index++) {
+ for (index=C_NAME; index < C_EURO; index++) {
+#ifndef DEFAULT_EURO
+ if (use_euro && index == C_VAL)
+ index = C_EUR;
+#endif
bufp = buf + recC[index].pos;
memcpy(tmp, bufp, recC[index].len); tmp[recC[index].len] = '\0';
+#ifndef DEFAULT_EURO
+ if (index == C_VAL || index == C_EUR)
+#else
if (index == C_VAL)
+#endif
printctln(fcontrol, recC[index].name, strip_zeros(string2real(tmp)));
else if (index == C_TRANS)
printctln(fcontrol, recC[index].name, strip_zeros(string2trans(tmp)));
else
printctln(fcontrol, recC[index].name, strip_zeros(strip_spaces(tmp)));
+#ifndef DEFAULT_EURO
+ if (use_euro && index == C_EUR)
+ index = C_VAL;
+#endif
}
for (index=C_TEXT; index <= C_EXT; index++) {
fprintf(fcontrol, "\nEND {\n");
for (index=E_COUNT; index <= E_BLZ; index++) {
+#ifndef DEFAULT_EURO
+ if (use_euro && index == E_VAL)
+ index = E_EUR;
+#endif
bufp = buf + recE[index].pos;
memcpy(tmp, bufp, recE[index].len); tmp[recE[index].len] = '\0';
+#ifndef DEFAULT_EURO
+ if (index == E_VAL || index == E_EUR)
+#else
if (index == E_VAL)
+#endif
printctln(fcontrol, recE[index].name, strip_zeros(string2real(tmp)));
else
printctln(fcontrol, recE[index].name, strip_zeros(tmp));
+#ifndef DEFAULT_EURO
+ if (use_euro && index == E_EUR)
+ index = E_VAL;
+#endif
}
fprintf(fcontrol, "}\n");