File Coverage

tstr_cparse.h
Criterion Covered Total %
statement 24 24 100.0
branch n/a
condition n/a
subroutine n/a
pod n/a
total 24 24 100.0


line stmt bran cond sub pod time code
1             #ifndef TSTR_CPARSE_H
2             #define TSTR_CPARSE_H
3              
4             #include
5             #include "tstr_format.h"
6             #include "tstr_parse_result.h"
7             #include "tstr_parsed.h"
8              
9             tstr_parse_result_t tstr_cparse_asn1gt(const char *p,
10             size_t len,
11             tstr_parsed_t *parsed);
12              
13             tstr_parse_result_t tstr_cparse_datetime(const char *p,
14             size_t len,
15             tstr_parsed_t *parsed);
16              
17             tstr_parse_result_t tstr_cparse_ecmascript(const char *p,
18             size_t len,
19             tstr_parsed_t *parsed);
20              
21             tstr_parse_result_t tstr_cparse_iso8601(const char *p,
22             size_t len,
23             tstr_parsed_t *parsed);
24              
25             tstr_parse_result_t tstr_cparse_iso9075(const char *p,
26             size_t len,
27             tstr_parsed_t *parsed);
28              
29             tstr_parse_result_t tstr_cparse_rfc2822(const char *p,
30             size_t len,
31             tstr_parsed_t *parsed);
32              
33             tstr_parse_result_t tstr_cparse_rfc3339(const char *p,
34             size_t len,
35             tstr_parsed_t *parsed);
36              
37             tstr_parse_result_t tstr_cparse_rfc4287(const char *p,
38             size_t len,
39             tstr_parsed_t *parsed);
40              
41             tstr_parse_result_t tstr_cparse_rfc9557(const char *p,
42             size_t len,
43             tstr_parsed_t *parsed);
44              
45             tstr_parse_result_t tstr_cparse_w3cdtf(const char *p,
46             size_t len,
47             tstr_parsed_t *parsed);
48              
49 1038           static inline tstr_parse_result_t tstr_cparse_dispatch(const char *s,
50             size_t len,
51             tstr_format_t fmt,
52             tstr_parsed_t *parsed) {
53 1038           switch (fmt) {
54 109           case TSTR_FORMAT_ASN1GT:
55 109           return tstr_cparse_asn1gt(s, len, parsed);
56 197           case TSTR_FORMAT_DATETIME:
57 197           return tstr_cparse_datetime(s, len, parsed);
58 28           case TSTR_FORMAT_ECMASCRIPT:
59 28           return tstr_cparse_ecmascript(s, len, parsed);
60 102           case TSTR_FORMAT_ISO8601:
61 102           return tstr_cparse_iso8601(s, len, parsed);
62 40           case TSTR_FORMAT_ISO9075:
63 40           return tstr_cparse_iso9075(s, len, parsed);
64 40           case TSTR_FORMAT_RFC2822:
65 40           return tstr_cparse_rfc2822(s, len, parsed);
66 138           case TSTR_FORMAT_RFC3339:
67 138           return tstr_cparse_rfc3339(s, len, parsed);
68 18           case TSTR_FORMAT_RFC4287:
69 18           return tstr_cparse_rfc4287(s, len, parsed);
70 45           case TSTR_FORMAT_RFC9557:
71 45           return tstr_cparse_rfc9557(s, len, parsed);
72 100           case TSTR_FORMAT_W3CDTF:
73 100           return tstr_cparse_w3cdtf(s, len, parsed);
74              
75 221           default:
76 221           return TSTR_PARSE_NOPARSER;
77             }
78             }
79              
80             #endif /* TSTR_CPARSE_H */