diff --git a/src/include/adif_io.h b/src/include/adif_io.h index 811d3fa4..40cdd4f6 100644 --- a/src/include/adif_io.h +++ b/src/include/adif_io.h @@ -5,7 +5,7 @@ #include "qso_db.h" -#define ADIF_VERS "2.1.9" +#define ADIF_VERS "2.2.3" class cAdifIO { private: diff --git a/src/logbook/adif_io.cxx b/src/logbook/adif_io.cxx index cc00489d..2ae0e86c 100644 --- a/src/logbook/adif_io.cxx +++ b/src/logbook/adif_io.cxx @@ -42,7 +42,7 @@ FIELD fields[] = { {IOTA, "IOTA", 0, 6, &btnSelectIOTA}, // Islands on the air {ITUZ, "ITUZ", 0, 6, &btnSelectITUZ}, // ITU zone {MODE, "MODE", 0, 8, &btnSelectMode}, // QSO mode - {MYXCHG, "MYXCHG", 0, 20, &btnSelectMyXchg}, // contest exchange sent + {MYXCHG, "STX_STRING", 0, 40, &btnSelectMyXchg}, // contest exchange sent {NAME, "NAME", 0, 18, &btnSelectName}, // contacted operators NAME {NOTES, "NOTES", 0, 80, &btnSelectNotes}, // QSO notes {OPERATOR, "OPERATOR", 0, 10, NULL}, // Callsign of person logging the QSO @@ -69,7 +69,7 @@ FIELD fields[] = { {TIME_ON, "TIME_ON", 0, 4, &btnSelectTimeON}, // HHMM or HHMMSS in UTC {TX_PWR, "TX_PWR", 0, 4, &btnSelectTX_pwr}, // power transmitted by this station {VE_PROV, "VE_PROV", 0, 2, &btnSelectProvince}, // 2 letter abbreviation for Canadian Province - {XCHG1, "XCHG1", 0, 20, &btnSelectXchgIn} // contest exchange #1 / free1 in xlog + {XCHG1, "SRX_STRING", 0, 40, &btnSelectXchgIn} // contest exchange #1 / free1 in xlog }; int numfields = sizeof(fields) / sizeof(FIELD); @@ -98,6 +98,15 @@ int findfield( char *p ) if (strncasecmp (p, "EOR>", 4) == 0) return -1; + +// following two tests are for backward compatibility with older +// fldigi fields +// changed to comply with ADIF 2.2.3 + + if (strncasecmp (p, "XCHG1>", 6) == 0) + return XCHG1; + if (strncasecmp (p, "MYXCHG>", 7) == 0) + return MYXCHG; while( low <= high ) { middle = ( low + high ) / 2;