freebsd-ports/lang/erlang/files/patch-erts-emulator-drivers-common-inet_drv.c
Jimmy Olgeni f9269d328d * Use gcc(1) rather than ld(1) to link the crypto_drv.so port driver, else the Erlang runtime would fail to load it.
* Use the correct struct member when compiling SCTP support (this should unbreak CURRENT).

Submitted by:	dumbbell
2007-07-02 20:47:53 +00:00

29 lines
1.2 KiB
C

$FreeBSD$
--- erts/emulator/drivers/common/inet_drv.c.orig
+++ erts/emulator/drivers/common/inet_drv.c
@@ -5684,7 +5684,11 @@
arg.es.sctp_peer_error_event = get_int8(curr); curr++;
arg.es.sctp_shutdown_event = get_int8(curr); curr++;
arg.es.sctp_partial_delivery_event = get_int8(curr); curr++;
+# ifdef HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE_SCTP_ADAPTATION_LAYER_EVENT
+ arg.es.sctp_adaptation_layer_event = get_int8(curr); curr++;
+# else
arg.es.sctp_adaption_layer_event = get_int8(curr); curr++;
+# endif
proto = IPPROTO_SCTP;
type = SCTP_EVENTS;
@@ -6580,7 +6584,11 @@
i = LOAD_BOOL (spec, i, evs.sctp_peer_error_event);
i = LOAD_BOOL (spec, i, evs.sctp_shutdown_event);
i = LOAD_BOOL (spec, i, evs.sctp_partial_delivery_event);
+# ifdef HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE_SCTP_ADAPTATION_LAYER_EVENT
+ i = LOAD_BOOL (spec, i, evs.sctp_adaptation_layer_event);
+# else
i = LOAD_BOOL (spec, i, evs.sctp_adaption_layer_event);
+# endif
/* NB: sctp_authentication_event is not yet supported in Linux */
i = LOAD_TUPLE (spec, i, 9);
i = LOAD_TUPLE (spec, i, 2);