diff --git a/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs b/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
index 374d3a8..98d1bad 100644
--- a/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
+++ b/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
@@ -823,7 +823,7 @@ namespace IEC61850
return QueryLogByTime (logRef, startTimeMs, stopTimeMs, out moreFollows);
}
- /// Read the variable specification (type description of a DA or FDCO
+ /// Read the variable specification (type description of a DA or FCDO
/// The object reference of a DA or FCDO.
/// The functional constraint (FC) of the object
/// This exception is thrown if there is a connection or service error
diff --git a/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj b/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
index 1c22e5a..dc2a4dc 100644
--- a/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
+++ b/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
@@ -7,8 +7,6 @@
Library
iec61850dotnet
iec61850dotnet
- 8.0.30703
- 2.0
true
diff --git a/examples/iec61850_client_example1/client_example1.c b/examples/iec61850_client_example1/client_example1.c
index e20a232..1142c76 100644
--- a/examples/iec61850_client_example1/client_example1.c
+++ b/examples/iec61850_client_example1/client_example1.c
@@ -50,6 +50,8 @@ int main(int argc, char** argv) {
if (error == IED_ERROR_OK) {
+ IedConnection_getServerDirectory(con, &error, false);
+
/* read an analog measurement value from server */
MmsValue* value = IedConnection_readObject(con, &error, "simpleIOGenericIO/GGIO1.AnIn1.mag.f", IEC61850_FC_MX);
diff --git a/src/iec61850/client/ied_connection.c b/src/iec61850/client/ied_connection.c
index 29ba1b4..ac91bf6 100644
--- a/src/iec61850/client/ied_connection.c
+++ b/src/iec61850/client/ied_connection.c
@@ -1981,13 +1981,9 @@ getDataDirectoryByFc(IedConnection self, IedClientError* error,
int elementNameLen = strlen(subElementName);
- char* elementName = (char*) GLOBAL_MALLOC(elementNameLen + 5);
+ char* elementName = (char*) GLOBAL_MALLOC(elementNameLen + 1);
memcpy(elementName, subElementName, elementNameLen);
- elementName[elementNameLen] = '[';
- elementName[elementNameLen + 1] = *(fcPos + 1);
- elementName[elementNameLen + 2] = *(fcPos + 2);
- elementName[elementNameLen + 3] = ']';
- elementName[elementNameLen + 4] = 0;
+ elementName[elementNameLen] = 0;
if (!addToStringSet(dataDirectory, elementName))
GLOBAL_FREEMEM(elementName);
diff --git a/src/iec61850/inc/iec61850_client.h b/src/iec61850/inc/iec61850_client.h
index c72784a..254abb6 100644
--- a/src/iec61850/inc/iec61850_client.h
+++ b/src/iec61850/inc/iec61850_client.h
@@ -1740,8 +1740,10 @@ IedConnection_getDataDirectoryFC(IedConnection self, IedClientError* error, cons
* \brief returns the directory of the given data object/data attribute with the given FC
*
* Implementation of the GetDataDirectory ACSI service. This will return the list of
- * C strings with all data attributes or sub data objects as elements. The returned
- * strings will contain the functional constraint appended in square brackets when appropriate.
+ * C strings with all data attributes or sub data objects as elements.
+ *
+ * WARNING: Starting with version 1.0.3 the functional constraint will no longer be appended to
+ * the name string.
*
* \param self the connection object
* \param error the error code if an error occurs