File Coverage

ulib/unparse.c
Criterion Covered Total %
statement 98 98 100.0
branch 4 4 100.0
condition n/a
subroutine n/a
pod n/a
total 102 102 100.0


line stmt bran cond sub pod time code
1             #ifdef __cplusplus
2             extern "C" {
3             #endif
4              
5             #include "ulib/unparse.h"
6              
7             #ifdef __cplusplus
8             }
9             #endif
10              
11             const char *uu_unparse_fmt_lower = "0123456789abcdef";
12             const char *uu_unparse_fmt_upper = "0123456789ABCDEF";
13              
14             /* convert U64 to hex chars. */
15 724269           static void uu_u64_2hex(const U64 in, char *out, const int len, const char *fmt) {
16 724269           U64 n = in;
17 724269           int i = len;
18              
19             do {
20 2690670           out[--i] = fmt[n % 16];
21 2690670           n >>= 4;
22 2690670 100         } while (n > 0);
23              
24 754975 100         while (i > 0)
25 30706           out[--i] = '0';
26 724269           }
27              
28 227           void uu_unparse_x0(const struct_uu_t *in, char *out, const char *fmt) {
29 227           char *dst = out;
30              
31 227           uu_u64_2hex(in->v1.time_low, dst, 8, fmt); dst += 8; *dst++ = '-';
32 227           uu_u64_2hex(in->v1.time_mid, dst, 4, fmt); dst += 4; *dst++ = '-';
33 227           uu_u64_2hex(in->v1.time_high_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
34 227           uu_u64_2hex(in->v1.clock_seq_and_variant, dst, 4, fmt); dst += 4; *dst++ = '-';
35 227           uu_u64_2hex(in->v1.node[0], dst, 2, fmt); dst += 2;
36 227           uu_u64_2hex(in->v1.node[1], dst, 2, fmt); dst += 2;
37 227           uu_u64_2hex(in->v1.node[2], dst, 2, fmt); dst += 2;
38 227           uu_u64_2hex(in->v1.node[3], dst, 2, fmt); dst += 2;
39 227           uu_u64_2hex(in->v1.node[4], dst, 2, fmt); dst += 2;
40 227           uu_u64_2hex(in->v1.node[5], dst, 2, fmt); dst += 2;
41 227           *dst = 0;
42 227           }
43              
44 14692           void uu_unparse_x1(const struct_uu_t *in, char *out, const char *fmt) {
45 14692           char *dst = out;
46              
47 14692           uu_u64_2hex(in->v1.time_low, dst, 8, fmt); dst += 8; *dst++ = '-';
48 14692           uu_u64_2hex(in->v1.time_mid, dst, 4, fmt); dst += 4; *dst++ = '-';
49 14692           uu_u64_2hex(in->v1.time_high_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
50 14692           uu_u64_2hex(in->v1.clock_seq_and_variant, dst, 4, fmt); dst += 4; *dst++ = '-';
51 14692           uu_u64_2hex(in->v1.node[0], dst, 2, fmt); dst += 2;
52 14692           uu_u64_2hex(in->v1.node[1], dst, 2, fmt); dst += 2;
53 14692           uu_u64_2hex(in->v1.node[2], dst, 2, fmt); dst += 2;
54 14692           uu_u64_2hex(in->v1.node[3], dst, 2, fmt); dst += 2;
55 14692           uu_u64_2hex(in->v1.node[4], dst, 2, fmt); dst += 2;
56 14692           uu_u64_2hex(in->v1.node[5], dst, 2, fmt); dst += 2;
57 14692           *dst = 0;
58 14692           }
59              
60 14029           void uu_unparse_x3(const struct_uu_t *in, char *out, const char *fmt) {
61 14029           char *dst = out;
62              
63 14029           uu_u64_2hex(in->v1.time_low, dst, 8, fmt); dst += 8; *dst++ = '-';
64 14029           uu_u64_2hex(in->v1.time_mid, dst, 4, fmt); dst += 4; *dst++ = '-';
65 14029           uu_u64_2hex(in->v1.time_high_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
66 14029           uu_u64_2hex(in->v1.clock_seq_and_variant, dst, 4, fmt); dst += 4; *dst++ = '-';
67 14029           uu_u64_2hex(in->v1.node[0], dst, 2, fmt); dst += 2;
68 14029           uu_u64_2hex(in->v1.node[1], dst, 2, fmt); dst += 2;
69 14029           uu_u64_2hex(in->v1.node[2], dst, 2, fmt); dst += 2;
70 14029           uu_u64_2hex(in->v1.node[3], dst, 2, fmt); dst += 2;
71 14029           uu_u64_2hex(in->v1.node[4], dst, 2, fmt); dst += 2;
72 14029           uu_u64_2hex(in->v1.node[5], dst, 2, fmt); dst += 2;
73 14029           *dst = 0;
74 14029           }
75              
76 14019           void uu_unparse_x4(const struct_uu_t *in, char *out, const char *fmt) {
77 14019           char *dst = out;
78              
79 14019           uu_u64_2hex(in->v4.rand_a, dst, 8, fmt); dst += 8; *dst++ = '-';
80 14019           uu_u64_2hex(in->v4.rand_b_and_version >> 16, dst, 4, fmt); dst += 4; *dst++ = '-';
81 14019           uu_u64_2hex(in->v4.rand_b_and_version & 0xffff, dst, 4, fmt); dst += 4; *dst++ = '-';
82 14019           uu_u64_2hex(in->v4.rand_c_and_variant >> 16, dst, 4, fmt); dst += 4; *dst++ = '-';
83 14019           uu_u64_2hex(in->v4.rand_c_and_variant & 0xffff, dst, 4, fmt); dst += 4;
84 14019           uu_u64_2hex(in->v4.rand_d, dst, 8, fmt); dst += 8;
85 14019           *dst = 0;
86 14019           }
87              
88 14023           void uu_unparse_x5(const struct_uu_t *in, char *out, const char *fmt) {
89 14023           char *dst = out;
90              
91 14023           uu_u64_2hex(in->v1.time_low, dst, 8, fmt); dst += 8; *dst++ = '-';
92 14023           uu_u64_2hex(in->v1.time_mid, dst, 4, fmt); dst += 4; *dst++ = '-';
93 14023           uu_u64_2hex(in->v1.time_high_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
94 14023           uu_u64_2hex(in->v1.clock_seq_and_variant, dst, 4, fmt); dst += 4; *dst++ = '-';
95 14023           uu_u64_2hex(in->v1.node[0], dst, 2, fmt); dst += 2;
96 14023           uu_u64_2hex(in->v1.node[1], dst, 2, fmt); dst += 2;
97 14023           uu_u64_2hex(in->v1.node[2], dst, 2, fmt); dst += 2;
98 14023           uu_u64_2hex(in->v1.node[3], dst, 2, fmt); dst += 2;
99 14023           uu_u64_2hex(in->v1.node[4], dst, 2, fmt); dst += 2;
100 14023           uu_u64_2hex(in->v1.node[5], dst, 2, fmt); dst += 2;
101 14023           *dst = 0;
102 14023           }
103              
104 14036           void uu_unparse_x6(const struct_uu_t *in, char *out, const char *fmt) {
105 14036           char *dst = out;
106              
107 14036           uu_u64_2hex(in->v6.time_high, dst, 8, fmt); dst += 8; *dst++ = '-';
108 14036           uu_u64_2hex(in->v6.time_mid, dst, 4, fmt); dst += 4; *dst++ = '-';
109 14036           uu_u64_2hex(in->v6.time_low_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
110 14036           uu_u64_2hex(in->v6.clock_seq_and_variant, dst, 4, fmt); dst += 4; *dst++ = '-';
111 14036           uu_u64_2hex(in->v6.node[0], dst, 2, fmt); dst += 2;
112 14036           uu_u64_2hex(in->v6.node[1], dst, 2, fmt); dst += 2;
113 14036           uu_u64_2hex(in->v6.node[2], dst, 2, fmt); dst += 2;
114 14036           uu_u64_2hex(in->v6.node[3], dst, 2, fmt); dst += 2;
115 14036           uu_u64_2hex(in->v6.node[4], dst, 2, fmt); dst += 2;
116 14036           uu_u64_2hex(in->v6.node[5], dst, 2, fmt); dst += 2;
117 14036           *dst = 0;
118 14036           }
119              
120 14017           void uu_unparse_x7(const struct_uu_t *in, char *out, const char *fmt) {
121 14017           char *dst = out;
122              
123 14017           uu_u64_2hex(in->v7.time_high, dst, 8, fmt); dst += 8; *dst++ = '-';
124 14017           uu_u64_2hex(in->v7.time_low, dst, 4, fmt); dst += 4; *dst++ = '-';
125 14017           uu_u64_2hex(in->v7.rand_a_and_version, dst, 4, fmt); dst += 4; *dst++ = '-';
126 14017           uu_u64_2hex(in->v7.rand_b_and_variant >> 48, dst, 4, fmt); dst += 4; *dst++ = '-';
127 14017           uu_u64_2hex(in->v7.rand_b_and_variant & 0xffffffffffffULL, dst, 12, fmt); dst += 12;
128 14017           *dst = 0;
129 14017           }
130              
131             /* ex:set ts=2 sw=2 itab=spaces: */