From 7406ddeb0b4c7b708921b9d336c61abf57394b32 Mon Sep 17 00:00:00 2001
From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de>
Date: Wed, 1 Jun 2022 14:10:14 +0200
Subject: [PATCH] Added function cdiDate_isEQ() and cdiTime_isEQ().

---
 src/cdi_datetime.c | 35 ++++++++++++++++++++++++++++-------
 src/cdi_datetime.h |  2 ++
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/src/cdi_datetime.c b/src/cdi_datetime.c
index c07ff05b9..6711b1a89 100644
--- a/src/cdi_datetime.c
+++ b/src/cdi_datetime.c
@@ -164,17 +164,38 @@ cdiDateTime_init(CdiDateTime *cdiDateTime)
   cdiTime_init(&cdiDateTime->time);
 }
 
+bool
+cdiDate_isEQ(const CdiDate cdiDate1, const CdiDate cdiDate2)
+{
+  // clang-format off
+  return (cdiDate1.year  == cdiDate2.year
+       && cdiDate1.month == cdiDate2.month
+       && cdiDate1.day   == cdiDate2.day);
+  // clang-format on
+}
+
+bool
+cdiTime_isEQ(const CdiTime cdiTime1, const CdiTime cdiTime2)
+{
+  // clang-format off
+  return (cdiTime1.hour   == cdiTime2.hour
+       && cdiTime1.minute == cdiTime2.minute
+       && cdiTime1.second == cdiTime2.second
+       && cdiTime1.ms     == cdiTime2.ms);
+  // clang-format on
+}
+
 bool
 cdiDateTime_isEQ(const CdiDateTime cdiDateTime1, const CdiDateTime cdiDateTime2)
 {
   // clang-format off
-  return (cdiDateTime1.date.year == cdiDateTime2.date.year
-      && cdiDateTime1.date.month == cdiDateTime2.date.month
-      && cdiDateTime1.date.day == cdiDateTime2.date.day
-      && cdiDateTime1.time.hour == cdiDateTime2.time.hour
-      && cdiDateTime1.time.minute == cdiDateTime2.time.minute
-      && cdiDateTime1.time.second == cdiDateTime2.time.second
-      && cdiDateTime1.time.ms == cdiDateTime2.time.ms);
+  return (cdiDateTime1.date.year   == cdiDateTime2.date.year
+       && cdiDateTime1.date.month  == cdiDateTime2.date.month
+       && cdiDateTime1.date.day    == cdiDateTime2.date.day
+       && cdiDateTime1.time.hour   == cdiDateTime2.time.hour
+       && cdiDateTime1.time.minute == cdiDateTime2.time.minute
+       && cdiDateTime1.time.second == cdiDateTime2.time.second
+       && cdiDateTime1.time.ms     == cdiDateTime2.time.ms);
   // clang-format on
 }
 
diff --git a/src/cdi_datetime.h b/src/cdi_datetime.h
index 5be17a3b5..400edc69a 100644
--- a/src/cdi_datetime.h
+++ b/src/cdi_datetime.h
@@ -46,6 +46,8 @@ void cdiDate_init(CdiDate *cdiDate);
 void cdiTime_init(CdiTime *cdiTime);
 void cdiDateTime_init(CdiDateTime *cdiDateTime);
 
+bool cdiDate_isEQ(CdiDate cdiDate1, CdiDate cdiDate2);
+bool cdiTime_isEQ(CdiTime cdiTime1, CdiTime cdiTime2);
 bool cdiDateTime_isEQ(CdiDateTime cdiDateTime1, CdiDateTime cdiDateTime2);
 bool cdiDateTime_isNE(CdiDateTime cdiDateTime1, CdiDateTime cdiDateTime2);
 bool cdiDateTime_isNull(CdiDateTime cdiDateTime);
-- 
GitLab