diff --git a/include/villas/nodes/iec61850.h b/include/villas/nodes/iec61850.h index 9f7944b4b..349549ffa 100644 --- a/include/villas/nodes/iec61850.h +++ b/include/villas/nodes/iec61850.h @@ -31,6 +31,12 @@ #include +#ifdef __APPLE__ + #include +#else + #include +#endif + #include #include #include diff --git a/lib/nodes/iec61850.c b/lib/nodes/iec61850.c index c14a5a21b..b6aae1706 100644 --- a/lib/nodes/iec61850.c +++ b/lib/nodes/iec61850.c @@ -25,7 +25,6 @@ #include #include #include -#include #include "villas/nodes/iec61850_sv.h" #include "villas/plugin.h" diff --git a/lib/nodes/iec61850_sv.c b/lib/nodes/iec61850_sv.c index 70c91efca..13699049e 100644 --- a/lib/nodes/iec61850_sv.c +++ b/lib/nodes/iec61850_sv.c @@ -27,7 +27,6 @@ #include #include #include -#include #include "villas/nodes/iec61850_sv.h" #include "villas/plugin.h" @@ -166,8 +165,14 @@ int iec61850_sv_parse(struct node *n, json_t *json) if (interface) i->interface = strdup(interface); - if (dst_address) + if (dst_address) { +#ifdef __APPLE__ + struct ether_addr *ether = ether_aton(dst_address); + memcpy(&i->dst_address, ether, sizeof(struct ether_addr)); +#else ether_aton_r(dst_address, &i->dst_address); +#endif + } if (json_pub) { i->publisher.enabled = true;