File Coverage

tstr_param.h
Criterion Covered Total %
statement 22 27 81.4
branch 9 14 64.2
condition n/a
subroutine n/a
pod n/a
total 31 41 75.6


line stmt bran cond sub pod time code
1             #ifndef TSTR_PARAM_H
2             #define TSTR_PARAM_H
3              
4             #include
5             #include
6              
7             typedef enum {
8             TSTR_PARAM_UNKNOWN = 0,
9             TSTR_PARAM_FORMAT,
10             TSTR_PARAM_PRECISION,
11             TSTR_PARAM_NANOSECOND,
12             TSTR_PARAM_OFFSET,
13             TSTR_PARAM_PIVOT_YEAR,
14             TSTR_PARAM_TIMEZONE,
15             TSTR_PARAM_TIMEZONE_MAP,
16             } tstr_param_t;
17              
18 1364           static inline tstr_param_t tstr_param_from_string(const char* src, size_t len) {
19 1364           switch (len) {
20 1163           case 6:
21 1163 100         if (!memcmp(src, "format", 6))
22 1124           return TSTR_PARAM_FORMAT;
23 39 50         if (!memcmp(src, "offset", 6))
24 39           return TSTR_PARAM_OFFSET;
25 0           break;
26 41           case 8:
27 41 50         if (!memcmp(src, "timezone", 8))
28 41           return TSTR_PARAM_TIMEZONE;
29 0           break;
30 110           case 9:
31 110 50         if (!memcmp(src, "precision", 9))
32 110           return TSTR_PARAM_PRECISION;
33 0           break;
34 34           case 10:
35 34 100         if (!memcmp(src, "nanosecond", 10))
36 26           return TSTR_PARAM_NANOSECOND;
37 8 50         if (!memcmp(src, "pivot_year", 10))
38 8           return TSTR_PARAM_PIVOT_YEAR;
39 0           break;
40 14           case 12:
41 14 50         if (!memcmp(src, "timezone_map", 12))
42 14           return TSTR_PARAM_TIMEZONE_MAP;
43 0           break;
44             }
45 2           return TSTR_PARAM_UNKNOWN;
46             }
47              
48             #endif /* TSTR_PARAM_H */