| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
2
|
|
|
|
|
|
|
extern "C" { |
|
3
|
|
|
|
|
|
|
#endif |
|
4
|
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
#include "ulib/compare.h" |
|
6
|
|
|
|
|
|
|
#include "ulib/unpack.h" |
|
7
|
|
|
|
|
|
|
#include "ulib/util.h" |
|
8
|
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
10
|
|
|
|
|
|
|
} |
|
11
|
|
|
|
|
|
|
#endif |
|
12
|
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
#define UUCMP(u1,u2) if (u1 != u2) return((u1) > (u2) ? 1 : -1); |
|
14
|
|
|
|
|
|
|
|
|
15
|
19
|
|
|
|
|
|
IV uu_cmp_struct1(const struct_uu_t *us1, const struct_uu_t *us2) { |
|
16
|
19
|
100
|
|
|
|
|
UUCMP(us1->v1.time_low, us2->v1.time_low); |
|
|
|
100
|
|
|
|
|
|
|
17
|
15
|
50
|
|
|
|
|
UUCMP(us1->v1.time_mid, us2->v1.time_mid); |
|
|
|
0
|
|
|
|
|
|
|
18
|
15
|
50
|
|
|
|
|
UUCMP(us1->v1.time_high_and_version, us2->v1.time_high_and_version); |
|
|
|
0
|
|
|
|
|
|
|
19
|
15
|
50
|
|
|
|
|
UUCMP(us1->v1.clock_seq_and_variant, us2->v1.clock_seq_and_variant); |
|
|
|
0
|
|
|
|
|
|
|
20
|
15
|
|
|
|
|
|
return memcmp(us1->v1.node, us2->v1.node, 6); |
|
21
|
|
|
|
|
|
|
} |
|
22
|
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
/* XXX missing v3 */ |
|
24
|
|
|
|
|
|
|
|
|
25
|
117
|
|
|
|
|
|
IV uu_cmp_struct4(const struct_uu_t *us1, const struct_uu_t *us2) { |
|
26
|
117
|
100
|
|
|
|
|
UUCMP(us1->v4.rand_a, us2->v4.rand_a); |
|
|
|
100
|
|
|
|
|
|
|
27
|
15
|
50
|
|
|
|
|
UUCMP(us1->v4.rand_b_and_version, us2->v4.rand_b_and_version); |
|
|
|
0
|
|
|
|
|
|
|
28
|
15
|
50
|
|
|
|
|
UUCMP(us1->v4.rand_c_and_variant, us2->v4.rand_c_and_variant); |
|
|
|
0
|
|
|
|
|
|
|
29
|
15
|
50
|
|
|
|
|
UUCMP(us1->v4.rand_d, us2->v4.rand_d); |
|
|
|
0
|
|
|
|
|
|
|
30
|
15
|
|
|
|
|
|
return 0; |
|
31
|
|
|
|
|
|
|
} |
|
32
|
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
/* XXX missing v5 */ |
|
34
|
|
|
|
|
|
|
|
|
35
|
15
|
|
|
|
|
|
IV uu_cmp_struct6(const struct_uu_t *us1, const struct_uu_t *us2) { |
|
36
|
15
|
50
|
|
|
|
|
UUCMP(us1->v6.time_high, us2->v6.time_high); |
|
|
|
0
|
|
|
|
|
|
|
37
|
15
|
50
|
|
|
|
|
UUCMP(us1->v6.time_mid, us2->v6.time_mid ); |
|
|
|
0
|
|
|
|
|
|
|
38
|
15
|
100
|
|
|
|
|
UUCMP(us1->v6.time_low_and_version, us2->v6.time_low_and_version ); |
|
|
|
100
|
|
|
|
|
|
|
39
|
13
|
50
|
|
|
|
|
UUCMP(us1->v6.clock_seq_and_variant, us2->v6.clock_seq_and_variant); |
|
|
|
0
|
|
|
|
|
|
|
40
|
13
|
|
|
|
|
|
return memcmp(us1->v6.node, us2->v6.node, 6); |
|
41
|
|
|
|
|
|
|
return 0; |
|
42
|
|
|
|
|
|
|
} |
|
43
|
|
|
|
|
|
|
|
|
44
|
15
|
|
|
|
|
|
IV uu_cmp_struct7(const struct_uu_t *us1, const struct_uu_t *us2) { |
|
45
|
15
|
50
|
|
|
|
|
UUCMP(us1->v7.time_high, us2->v7.time_high); |
|
|
|
0
|
|
|
|
|
|
|
46
|
15
|
50
|
|
|
|
|
UUCMP(us1->v7.time_low, us2->v7.time_low ); |
|
|
|
0
|
|
|
|
|
|
|
47
|
15
|
100
|
|
|
|
|
UUCMP(us1->v7.rand_a_and_version, us2->v7.rand_a_and_version); |
|
|
|
100
|
|
|
|
|
|
|
48
|
13
|
50
|
|
|
|
|
UUCMP(us1->v7.rand_b_and_variant, us2->v7.rand_b_and_variant); |
|
|
|
0
|
|
|
|
|
|
|
49
|
13
|
|
|
|
|
|
return 0; |
|
50
|
|
|
|
|
|
|
} |
|
51
|
|
|
|
|
|
|
|
|
52
|
296
|
|
|
|
|
|
IV uu_cmp_binary(const uu_t uu1, const uu_t uu2) { |
|
53
|
|
|
|
|
|
|
IV typ1, typ2, var1, var2; |
|
54
|
|
|
|
|
|
|
struct_uu_t us1, us2; |
|
55
|
|
|
|
|
|
|
|
|
56
|
296
|
|
|
|
|
|
uu_unpack(uu1, &us1); |
|
57
|
296
|
|
|
|
|
|
uu_unpack(uu2, &us2); |
|
58
|
|
|
|
|
|
|
|
|
59
|
296
|
|
|
|
|
|
var1 = uu_variant(&us1); |
|
60
|
296
|
|
|
|
|
|
var2 = uu_variant(&us2); |
|
61
|
|
|
|
|
|
|
|
|
62
|
296
|
100
|
|
|
|
|
if (var1 != var2) |
|
63
|
23
|
100
|
|
|
|
|
return var1 > var2 ? 1 : -1; |
|
64
|
|
|
|
|
|
|
|
|
65
|
273
|
|
|
|
|
|
typ1 = uu_type(&us1); |
|
66
|
273
|
|
|
|
|
|
typ2 = uu_type(&us2); |
|
67
|
|
|
|
|
|
|
|
|
68
|
273
|
100
|
|
|
|
|
if (typ1 != typ2) |
|
69
|
62
|
100
|
|
|
|
|
return typ1 > typ2 ? 1 : -1; |
|
70
|
|
|
|
|
|
|
|
|
71
|
211
|
|
|
|
|
|
switch(typ1) { |
|
72
|
19
|
|
|
|
|
|
case 1: return uu_cmp_struct1(&us1, &us2); |
|
73
|
117
|
|
|
|
|
|
case 4: return uu_cmp_struct4(&us1, &us2); |
|
74
|
15
|
|
|
|
|
|
case 6: return uu_cmp_struct6(&us1, &us2); |
|
75
|
15
|
|
|
|
|
|
case 7: return uu_cmp_struct7(&us1, &us2); |
|
76
|
|
|
|
|
|
|
} |
|
77
|
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
//return uu_cmp_struct(&us1, &us2); |
|
79
|
45
|
|
|
|
|
|
return 0; |
|
80
|
|
|
|
|
|
|
} |
|
81
|
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
/* ex:set ts=2 sw=2 itab=spaces: */ |