summaryrefslogtreecommitdiff
path: root/net/mopd/files/patch-common_put.c
blob: 69613b0e7ea47274d26e983e022b13a425c5d9bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- common/put.c.orig	1996-08-16 22:43:15 UTC
+++ common/put.c
@@ -35,6 +35,9 @@ static char rcsid[] = "$Id: put.c,v 1.5 1996/08/16 22:
 #include <sys/types.h>
 #include <time.h>
 #include "common/mopdef.h"
+#ifdef __FreeBSD__
+#include <osreldate.h>
+#endif
 
 void
 mopPutChar(pkt, index, value)
@@ -137,10 +140,7 @@ mopPutHeader(pkt, index, dst, src, proto, trans)
 		mopPutChar (pkt, index, 0x00);
 		mopPutChar (pkt, index, 0x2b);
 	}
-#if !defined(__FreeBSD__)
-	mopPutChar(pkt, index, (proto / 256));
-	mopPutChar(pkt, index, (proto % 256));
-#else
+#if defined(__FreeBSD__) && __FreeBSD_version < 220000
 	if (trans == TRANS_8023) {
 		mopPutChar(pkt, index, (proto / 256));
 		mopPutChar(pkt, index, (proto % 256));
@@ -148,6 +148,9 @@ mopPutHeader(pkt, index, dst, src, proto, trans)
 		mopPutChar(pkt, index, (proto % 256));
 		mopPutChar(pkt, index, (proto / 256));
 	}
+#else
+	mopPutChar(pkt, index, (proto / 256));
+	mopPutChar(pkt, index, (proto % 256));
 #endif
 	if (trans == TRANS_ETHER)
 		mopPutShort(pkt, index, 0);
@@ -170,12 +173,12 @@ mopPutLength(pkt, trans, len)
 		break;
 	case TRANS_8023:
 		index = 12;
-#if !defined(__FreeBSD__)
-		mopPutChar(pkt, &index, ((len - 14) / 256));
+#if defined(__FreeBSD__) && __FreeBSD_version < 220000
 		mopPutChar(pkt, &index, ((len - 14) % 256));
+		mopPutChar(pkt, &index, ((len - 14) / 256));
 #else
-		mopPutChar(pkt, &index, ((len - 14) % 256));
 		mopPutChar(pkt, &index, ((len - 14) / 256));
+		mopPutChar(pkt, &index, ((len - 14) % 256));
 #endif
 		break;
 	}