From a5ed8a650b00a86187f665298b4941a6eeb6a202 Mon Sep 17 00:00:00 2001
From: Michael Zillgith <michael@zillgith.eu>
Date: Thu, 29 Jan 2015 11:52:39 +0100
Subject: [PATCH] - added Timestamp_clearFlags function

---
 src/iec61850/common/iec61850_common.c | 6 ++++++
 src/iec61850/inc/iec61850_common.h    | 3 +++
 src/iec61850/server/impl/ied_server.c | 3 +++
 3 files changed, 12 insertions(+)

diff --git a/src/iec61850/common/iec61850_common.c b/src/iec61850/common/iec61850_common.c
index f21644f..2cc4214 100644
--- a/src/iec61850/common/iec61850_common.c
+++ b/src/iec61850/common/iec61850_common.c
@@ -191,6 +191,12 @@ FunctionalConstraint_fromString(char* fcString)
     return NONE;
 }
 
+void
+Timestamp_clearFlags(Timestamp* self)
+{
+    self->val[7] = 0;
+}
+
 bool
 Timestamp_isLeapSecondKnown(Timestamp* self)
 {
diff --git a/src/iec61850/inc/iec61850_common.h b/src/iec61850/inc/iec61850_common.h
index 795fce3..33b764b 100644
--- a/src/iec61850/inc/iec61850_common.h
+++ b/src/iec61850/inc/iec61850_common.h
@@ -313,6 +313,9 @@ typedef union {
     uint8_t val[8];
 } Timestamp;
 
+void
+Timestamp_clearFlags(Timestamp* self);
+
 uint32_t
 Timestamp_getTimeInSeconds(Timestamp* self);
 
diff --git a/src/iec61850/server/impl/ied_server.c b/src/iec61850/server/impl/ied_server.c
index f31f00d..d33f7e6 100644
--- a/src/iec61850/server/impl/ied_server.c
+++ b/src/iec61850/server/impl/ied_server.c
@@ -1058,6 +1058,9 @@ IedServer_setWriteAccessPolicy(IedServer self, FunctionalConstraint fc, AccessPo
 void
 IedServer_handleWriteAccess(IedServer self, DataAttribute* dataAttribute, WriteAccessHandler handler)
 {
+    if (dataAttribute == NULL)
+        *((int*) NULL) = 1;
+
     MmsMapping_installWriteAccessHandler(self->mmsMapping, dataAttribute, handler);
 }