From 54a7e330e5e9326f60df3ebe53295d37f006bea2 Mon Sep 17 00:00:00 2001 From: Olly Betts Date: Wed, 14 Feb 2024 14:03:14 +1300 Subject: [PATCH] cavern: Treat date 1901-01-01 in Compass dat as omitted This is the date Compass uses when no date was specified, and seems very unlikely to occur in real data. --- src/datain.c | 3 +++ tests/backread.dat | 2 +- tests/backread.dump | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/datain.c b/src/datain.c index 5d92e03f..bde677f3 100644 --- a/src/datain.c +++ b/src/datain.c @@ -704,8 +704,11 @@ data_file(const char *pth, const char *fnm) /* Note: Larry says a 2 digit year is always 19XX */ if (year < 100) year += 1900; + /* Compass uses 1901-01-01 when no date was specified. */ + if (year == 1901 && day == 1 && month == 1) goto compass_dat_no_date; pcs->meta->days1 = pcs->meta->days2 = days_since_1900(year, month, day); } else { +compass_dat_no_date: pcs->meta->days1 = pcs->meta->days2 = -1; } pcs->declination = HUGE_REAL; diff --git a/tests/backread.dat b/tests/backread.dat index cc48b288..6f269f0b 100644 --- a/tests/backread.dat +++ b/tests/backread.dat @@ -11,7 +11,7 @@ DECLINATION: 0 FORMAT: DDDDLRUDLADB CORRECTIONS: 0.00 0.00 0.00 Cave SURVEY NAME: D -SURVEY DATE: 10 14 1986 COMMENT:Test newer format backsights +SURVEY DATE: 1 1 1 COMMENT:Test newer format backsights SURVEY TEAM: Us, Them DECLINATION: 0 FORMAT: DDDWLRUDLADadBF CORRECTIONS: 0.00 0.00 0.00 CORRECTIONS2: 1.0 -1.0 diff --git a/tests/backread.dump b/tests/backread.dump index 2a26bd37..9a8e0013 100644 --- a/tests/backread.dump +++ b/tests/backread.dump @@ -5,7 +5,7 @@ VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 -LEG 0.00 1.00 0.00 0.59 2.15 0.52 [] STYLE=DIVING 1986.10.14 +LEG 0.00 1.00 0.00 0.59 2.15 0.52 [] STYLE=DIVING NODE 0.59 2.15 0.52 [D1] UNDERGROUND NODE 0.00 1.00 0.00 [C2] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND