/src/strongswan/src/libstrongswan/utils/utils/string.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (C) 2008-2014 Tobias Brunner |
3 | | * Copyright (C) 2008 Martin Willi |
4 | | * |
5 | | * Copyright (C) secunet Security Networks AG |
6 | | * |
7 | | * This program is free software; you can redistribute it and/or modify it |
8 | | * under the terms of the GNU General Public License as published by the |
9 | | * Free Software Foundation; either version 2 of the License, or (at your |
10 | | * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. |
11 | | * |
12 | | * This program is distributed in the hope that it will be useful, but |
13 | | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
14 | | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
15 | | * for more details. |
16 | | */ |
17 | | |
18 | | /** |
19 | | * @defgroup string_i string |
20 | | * @{ @ingroup utils_i |
21 | | */ |
22 | | |
23 | | #ifndef STRING_H_ |
24 | | #define STRING_H_ |
25 | | |
26 | | /** |
27 | | * Helper function that compares two strings for equality |
28 | | */ |
29 | | static inline bool streq(const char *x, const char *y) |
30 | 81.5k | { |
31 | 81.5k | return (x == y) || (x && y && strcmp(x, y) == 0); |
32 | 81.5k | } Unexecuted instantiation: library.c:streq Line | Count | Source | 30 | 21.0k | { | 31 | 21.0k | return (x == y) || (x && y && strcmp(x, y) == 0); | 32 | 21.0k | } |
Unexecuted instantiation: array.c:streq Unexecuted instantiation: proposal.c:streq Unexecuted instantiation: proposal_keywords.c:streq Unexecuted instantiation: proposal_keywords_static.c:streq Unexecuted instantiation: crypto_factory.c:streq Unexecuted instantiation: crypto_tester.c:streq Unexecuted instantiation: key_exchange.c:streq Unexecuted instantiation: transform.c:streq Unexecuted instantiation: kdf.c:streq Unexecuted instantiation: xof.c:streq Unexecuted instantiation: credential_factory.c:streq Unexecuted instantiation: cred_encoding.c:streq Unexecuted instantiation: public_key.c:streq Unexecuted instantiation: certificate.c:streq Unexecuted instantiation: container.c:streq Unexecuted instantiation: credential_manager.c:streq Unexecuted instantiation: ocsp_responders.c:streq Unexecuted instantiation: auth_cfg_wrapper.c:streq Unexecuted instantiation: cert_cache.c:streq Unexecuted instantiation: auth_cfg.c:streq Unexecuted instantiation: database_factory.c:streq Unexecuted instantiation: fetcher_manager.c:streq Unexecuted instantiation: eap.c:streq Unexecuted instantiation: metadata_factory.c:streq Unexecuted instantiation: metadata_int.c:streq Unexecuted instantiation: host.c:streq Unexecuted instantiation: host_resolver.c:streq Unexecuted instantiation: stream_manager.c:streq Unexecuted instantiation: stream_tcp.c:streq Unexecuted instantiation: stream_service_tcp.c:streq Line | Count | Source | 30 | 52.7k | { | 31 | 52.7k | return (x == y) || (x && y && strcmp(x, y) == 0); | 32 | 52.7k | } |
Unexecuted instantiation: plugin_feature.c:streq Unexecuted instantiation: processor.c:streq Unexecuted instantiation: scheduler.c:streq Unexecuted instantiation: watcher.c:streq Unexecuted instantiation: resolver_manager.c:streq Unexecuted instantiation: traffic_selector.c:streq Unexecuted instantiation: settings.c:streq Unexecuted instantiation: settings_types.c:streq Line | Count | Source | 30 | 3.51k | { | 31 | 3.51k | return (x == y) || (x && y && strcmp(x, y) == 0); | 32 | 3.51k | } |
Unexecuted instantiation: settings_lexer.c:streq Unexecuted instantiation: utils.c:streq Unexecuted instantiation: chunk.c:streq Unexecuted instantiation: debug.c:streq Unexecuted instantiation: enum.c:streq Line | Count | Source | 30 | 4.17k | { | 31 | 4.17k | return (x == y) || (x && y && strcmp(x, y) == 0); | 32 | 4.17k | } |
Unexecuted instantiation: capabilities.c:streq Unexecuted instantiation: backtrace.c:streq Unexecuted instantiation: parser_helper.c:streq Unexecuted instantiation: strerror.c:streq Unexecuted instantiation: atomics.c:streq Unexecuted instantiation: string.c:streq Unexecuted instantiation: memory.c:streq Unexecuted instantiation: tty.c:streq Unexecuted instantiation: path.c:streq Unexecuted instantiation: time.c:streq Unexecuted instantiation: thread.c:streq Unexecuted instantiation: thread_value.c:streq Unexecuted instantiation: mutex.c:streq Unexecuted instantiation: rwlock.c:streq Unexecuted instantiation: stream_unix.c:streq Unexecuted instantiation: stream_service_unix.c:streq Unexecuted instantiation: printf_hook_glibc.c:streq Unexecuted instantiation: asn1.c:streq Unexecuted instantiation: asn1_parser.c:streq Unexecuted instantiation: oid.c:streq Unexecuted instantiation: bio_writer.c:streq Unexecuted instantiation: enumerator.c:streq Unexecuted instantiation: hashlist.c:streq Unexecuted instantiation: linked_list.c:streq Unexecuted instantiation: crypter.c:streq Unexecuted instantiation: drbg.c:streq Unexecuted instantiation: hasher.c:streq Unexecuted instantiation: prf.c:streq Unexecuted instantiation: rng.c:streq Unexecuted instantiation: rng_tester.c:streq Unexecuted instantiation: signer.c:streq Unexecuted instantiation: private_key.c:streq Unexecuted instantiation: signature_params.c:streq Unexecuted instantiation: crl.c:streq Unexecuted instantiation: ocsp_response_wrapper.c:streq Unexecuted instantiation: mem_cred.c:streq Unexecuted instantiation: database.c:streq Unexecuted instantiation: stream.c:streq Unexecuted instantiation: stream_service.c:streq Unexecuted instantiation: pen.c:streq Unexecuted instantiation: job.c:streq Unexecuted instantiation: callback_job.c:streq Unexecuted instantiation: spinlock.c:streq Unexecuted instantiation: bio_reader.c:streq Unexecuted instantiation: mac_prf.c:streq Unexecuted instantiation: pkcs5.c:streq Unexecuted instantiation: mac_signer.c:streq Unexecuted instantiation: iv_gen_seq.c:streq Unexecuted instantiation: ocsp_response.c:streq Unexecuted instantiation: x509.c:streq Unexecuted instantiation: ocsp_single_response.c:streq Unexecuted instantiation: pkcs12.c:streq Unexecuted instantiation: lexparser.c:streq |
33 | | |
34 | | /** |
35 | | * Helper function that compares two strings for equality, length limited |
36 | | */ |
37 | | static inline bool strneq(const char *x, const char *y, size_t len) |
38 | 0 | { |
39 | 0 | return (x == y) || (x && y && strncmp(x, y, len) == 0); |
40 | 0 | } Unexecuted instantiation: library.c:strneq Unexecuted instantiation: hashtable.c:strneq Unexecuted instantiation: array.c:strneq Unexecuted instantiation: proposal.c:strneq Unexecuted instantiation: proposal_keywords.c:strneq Unexecuted instantiation: proposal_keywords_static.c:strneq Unexecuted instantiation: crypto_factory.c:strneq Unexecuted instantiation: crypto_tester.c:strneq Unexecuted instantiation: key_exchange.c:strneq Unexecuted instantiation: transform.c:strneq Unexecuted instantiation: kdf.c:strneq Unexecuted instantiation: xof.c:strneq Unexecuted instantiation: credential_factory.c:strneq Unexecuted instantiation: cred_encoding.c:strneq Unexecuted instantiation: public_key.c:strneq Unexecuted instantiation: certificate.c:strneq Unexecuted instantiation: container.c:strneq Unexecuted instantiation: credential_manager.c:strneq Unexecuted instantiation: ocsp_responders.c:strneq Unexecuted instantiation: auth_cfg_wrapper.c:strneq Unexecuted instantiation: cert_cache.c:strneq Unexecuted instantiation: auth_cfg.c:strneq Unexecuted instantiation: database_factory.c:strneq Unexecuted instantiation: fetcher_manager.c:strneq Unexecuted instantiation: eap.c:strneq Unexecuted instantiation: metadata_factory.c:strneq Unexecuted instantiation: metadata_int.c:strneq Unexecuted instantiation: host.c:strneq Unexecuted instantiation: host_resolver.c:strneq Unexecuted instantiation: stream_manager.c:strneq Unexecuted instantiation: stream_tcp.c:strneq Unexecuted instantiation: stream_service_tcp.c:strneq Unexecuted instantiation: plugin_loader.c:strneq Unexecuted instantiation: plugin_feature.c:strneq Unexecuted instantiation: processor.c:strneq Unexecuted instantiation: scheduler.c:strneq Unexecuted instantiation: watcher.c:strneq Unexecuted instantiation: resolver_manager.c:strneq Unexecuted instantiation: traffic_selector.c:strneq Unexecuted instantiation: settings.c:strneq Unexecuted instantiation: settings_types.c:strneq Unexecuted instantiation: settings_parser.c:strneq Unexecuted instantiation: settings_lexer.c:strneq Unexecuted instantiation: utils.c:strneq Unexecuted instantiation: chunk.c:strneq Unexecuted instantiation: debug.c:strneq Unexecuted instantiation: enum.c:strneq Unexecuted instantiation: identification.c:strneq Unexecuted instantiation: capabilities.c:strneq Unexecuted instantiation: backtrace.c:strneq Unexecuted instantiation: parser_helper.c:strneq Unexecuted instantiation: strerror.c:strneq Unexecuted instantiation: atomics.c:strneq Unexecuted instantiation: string.c:strneq Unexecuted instantiation: memory.c:strneq Unexecuted instantiation: tty.c:strneq Unexecuted instantiation: path.c:strneq Unexecuted instantiation: time.c:strneq Unexecuted instantiation: thread.c:strneq Unexecuted instantiation: thread_value.c:strneq Unexecuted instantiation: mutex.c:strneq Unexecuted instantiation: rwlock.c:strneq Unexecuted instantiation: stream_unix.c:strneq Unexecuted instantiation: stream_service_unix.c:strneq Unexecuted instantiation: printf_hook_glibc.c:strneq Unexecuted instantiation: asn1.c:strneq Unexecuted instantiation: asn1_parser.c:strneq Unexecuted instantiation: oid.c:strneq Unexecuted instantiation: bio_writer.c:strneq Unexecuted instantiation: enumerator.c:strneq Unexecuted instantiation: hashlist.c:strneq Unexecuted instantiation: linked_list.c:strneq Unexecuted instantiation: crypter.c:strneq Unexecuted instantiation: drbg.c:strneq Unexecuted instantiation: hasher.c:strneq Unexecuted instantiation: prf.c:strneq Unexecuted instantiation: rng.c:strneq Unexecuted instantiation: rng_tester.c:strneq Unexecuted instantiation: signer.c:strneq Unexecuted instantiation: private_key.c:strneq Unexecuted instantiation: signature_params.c:strneq Unexecuted instantiation: crl.c:strneq Unexecuted instantiation: ocsp_response_wrapper.c:strneq Unexecuted instantiation: mem_cred.c:strneq Unexecuted instantiation: database.c:strneq Unexecuted instantiation: stream.c:strneq Unexecuted instantiation: stream_service.c:strneq Unexecuted instantiation: pen.c:strneq Unexecuted instantiation: job.c:strneq Unexecuted instantiation: callback_job.c:strneq Unexecuted instantiation: spinlock.c:strneq Unexecuted instantiation: bio_reader.c:strneq Unexecuted instantiation: mac_prf.c:strneq Unexecuted instantiation: pkcs5.c:strneq Unexecuted instantiation: mac_signer.c:strneq Unexecuted instantiation: iv_gen_seq.c:strneq Unexecuted instantiation: ocsp_response.c:strneq Unexecuted instantiation: x509.c:strneq Unexecuted instantiation: ocsp_single_response.c:strneq Unexecuted instantiation: pkcs12.c:strneq Unexecuted instantiation: lexparser.c:strneq |
41 | | |
42 | | /** |
43 | | * Helper function that checks if a string starts with a given prefix |
44 | | */ |
45 | | static inline bool strpfx(const char *x, const char *prefix) |
46 | 0 | { |
47 | 0 | return strneq(x, prefix, strlen(prefix)); |
48 | 0 | } Unexecuted instantiation: library.c:strpfx Unexecuted instantiation: hashtable.c:strpfx Unexecuted instantiation: array.c:strpfx Unexecuted instantiation: proposal.c:strpfx Unexecuted instantiation: proposal_keywords.c:strpfx Unexecuted instantiation: proposal_keywords_static.c:strpfx Unexecuted instantiation: crypto_factory.c:strpfx Unexecuted instantiation: crypto_tester.c:strpfx Unexecuted instantiation: key_exchange.c:strpfx Unexecuted instantiation: transform.c:strpfx Unexecuted instantiation: kdf.c:strpfx Unexecuted instantiation: xof.c:strpfx Unexecuted instantiation: credential_factory.c:strpfx Unexecuted instantiation: cred_encoding.c:strpfx Unexecuted instantiation: public_key.c:strpfx Unexecuted instantiation: certificate.c:strpfx Unexecuted instantiation: container.c:strpfx Unexecuted instantiation: credential_manager.c:strpfx Unexecuted instantiation: ocsp_responders.c:strpfx Unexecuted instantiation: auth_cfg_wrapper.c:strpfx Unexecuted instantiation: cert_cache.c:strpfx Unexecuted instantiation: auth_cfg.c:strpfx Unexecuted instantiation: database_factory.c:strpfx Unexecuted instantiation: fetcher_manager.c:strpfx Unexecuted instantiation: eap.c:strpfx Unexecuted instantiation: metadata_factory.c:strpfx Unexecuted instantiation: metadata_int.c:strpfx Unexecuted instantiation: host.c:strpfx Unexecuted instantiation: host_resolver.c:strpfx Unexecuted instantiation: stream_manager.c:strpfx Unexecuted instantiation: stream_tcp.c:strpfx Unexecuted instantiation: stream_service_tcp.c:strpfx Unexecuted instantiation: plugin_loader.c:strpfx Unexecuted instantiation: plugin_feature.c:strpfx Unexecuted instantiation: processor.c:strpfx Unexecuted instantiation: scheduler.c:strpfx Unexecuted instantiation: watcher.c:strpfx Unexecuted instantiation: resolver_manager.c:strpfx Unexecuted instantiation: traffic_selector.c:strpfx Unexecuted instantiation: settings.c:strpfx Unexecuted instantiation: settings_types.c:strpfx Unexecuted instantiation: settings_parser.c:strpfx Unexecuted instantiation: settings_lexer.c:strpfx Unexecuted instantiation: utils.c:strpfx Unexecuted instantiation: chunk.c:strpfx Unexecuted instantiation: debug.c:strpfx Unexecuted instantiation: enum.c:strpfx Unexecuted instantiation: identification.c:strpfx Unexecuted instantiation: capabilities.c:strpfx Unexecuted instantiation: backtrace.c:strpfx Unexecuted instantiation: parser_helper.c:strpfx Unexecuted instantiation: strerror.c:strpfx Unexecuted instantiation: atomics.c:strpfx Unexecuted instantiation: string.c:strpfx Unexecuted instantiation: memory.c:strpfx Unexecuted instantiation: tty.c:strpfx Unexecuted instantiation: path.c:strpfx Unexecuted instantiation: time.c:strpfx Unexecuted instantiation: thread.c:strpfx Unexecuted instantiation: thread_value.c:strpfx Unexecuted instantiation: mutex.c:strpfx Unexecuted instantiation: rwlock.c:strpfx Unexecuted instantiation: stream_unix.c:strpfx Unexecuted instantiation: stream_service_unix.c:strpfx Unexecuted instantiation: printf_hook_glibc.c:strpfx Unexecuted instantiation: asn1.c:strpfx Unexecuted instantiation: asn1_parser.c:strpfx Unexecuted instantiation: oid.c:strpfx Unexecuted instantiation: bio_writer.c:strpfx Unexecuted instantiation: enumerator.c:strpfx Unexecuted instantiation: hashlist.c:strpfx Unexecuted instantiation: linked_list.c:strpfx Unexecuted instantiation: crypter.c:strpfx Unexecuted instantiation: drbg.c:strpfx Unexecuted instantiation: hasher.c:strpfx Unexecuted instantiation: prf.c:strpfx Unexecuted instantiation: rng.c:strpfx Unexecuted instantiation: rng_tester.c:strpfx Unexecuted instantiation: signer.c:strpfx Unexecuted instantiation: private_key.c:strpfx Unexecuted instantiation: signature_params.c:strpfx Unexecuted instantiation: crl.c:strpfx Unexecuted instantiation: ocsp_response_wrapper.c:strpfx Unexecuted instantiation: mem_cred.c:strpfx Unexecuted instantiation: database.c:strpfx Unexecuted instantiation: stream.c:strpfx Unexecuted instantiation: stream_service.c:strpfx Unexecuted instantiation: pen.c:strpfx Unexecuted instantiation: job.c:strpfx Unexecuted instantiation: callback_job.c:strpfx Unexecuted instantiation: spinlock.c:strpfx Unexecuted instantiation: bio_reader.c:strpfx Unexecuted instantiation: mac_prf.c:strpfx Unexecuted instantiation: pkcs5.c:strpfx Unexecuted instantiation: mac_signer.c:strpfx Unexecuted instantiation: iv_gen_seq.c:strpfx Unexecuted instantiation: ocsp_response.c:strpfx Unexecuted instantiation: x509.c:strpfx Unexecuted instantiation: ocsp_single_response.c:strpfx Unexecuted instantiation: pkcs12.c:strpfx Unexecuted instantiation: lexparser.c:strpfx |
49 | | |
50 | | /** |
51 | | * Helper function that compares two strings for equality ignoring case |
52 | | */ |
53 | | static inline bool strcaseeq(const char *x, const char *y) |
54 | 0 | { |
55 | 0 | return (x == y) || (x && y && strcasecmp(x, y) == 0); |
56 | 0 | } Unexecuted instantiation: library.c:strcaseeq Unexecuted instantiation: hashtable.c:strcaseeq Unexecuted instantiation: array.c:strcaseeq Unexecuted instantiation: proposal.c:strcaseeq Unexecuted instantiation: proposal_keywords.c:strcaseeq Unexecuted instantiation: proposal_keywords_static.c:strcaseeq Unexecuted instantiation: crypto_factory.c:strcaseeq Unexecuted instantiation: crypto_tester.c:strcaseeq Unexecuted instantiation: key_exchange.c:strcaseeq Unexecuted instantiation: transform.c:strcaseeq Unexecuted instantiation: kdf.c:strcaseeq Unexecuted instantiation: xof.c:strcaseeq Unexecuted instantiation: credential_factory.c:strcaseeq Unexecuted instantiation: cred_encoding.c:strcaseeq Unexecuted instantiation: public_key.c:strcaseeq Unexecuted instantiation: certificate.c:strcaseeq Unexecuted instantiation: container.c:strcaseeq Unexecuted instantiation: credential_manager.c:strcaseeq Unexecuted instantiation: ocsp_responders.c:strcaseeq Unexecuted instantiation: auth_cfg_wrapper.c:strcaseeq Unexecuted instantiation: cert_cache.c:strcaseeq Unexecuted instantiation: auth_cfg.c:strcaseeq Unexecuted instantiation: database_factory.c:strcaseeq Unexecuted instantiation: fetcher_manager.c:strcaseeq Unexecuted instantiation: eap.c:strcaseeq Unexecuted instantiation: metadata_factory.c:strcaseeq Unexecuted instantiation: metadata_int.c:strcaseeq Unexecuted instantiation: host.c:strcaseeq Unexecuted instantiation: host_resolver.c:strcaseeq Unexecuted instantiation: stream_manager.c:strcaseeq Unexecuted instantiation: stream_tcp.c:strcaseeq Unexecuted instantiation: stream_service_tcp.c:strcaseeq Unexecuted instantiation: plugin_loader.c:strcaseeq Unexecuted instantiation: plugin_feature.c:strcaseeq Unexecuted instantiation: processor.c:strcaseeq Unexecuted instantiation: scheduler.c:strcaseeq Unexecuted instantiation: watcher.c:strcaseeq Unexecuted instantiation: resolver_manager.c:strcaseeq Unexecuted instantiation: traffic_selector.c:strcaseeq Unexecuted instantiation: settings.c:strcaseeq Unexecuted instantiation: settings_types.c:strcaseeq Unexecuted instantiation: settings_parser.c:strcaseeq Unexecuted instantiation: settings_lexer.c:strcaseeq Unexecuted instantiation: utils.c:strcaseeq Unexecuted instantiation: chunk.c:strcaseeq Unexecuted instantiation: debug.c:strcaseeq Unexecuted instantiation: enum.c:strcaseeq Unexecuted instantiation: identification.c:strcaseeq Unexecuted instantiation: capabilities.c:strcaseeq Unexecuted instantiation: backtrace.c:strcaseeq Unexecuted instantiation: parser_helper.c:strcaseeq Unexecuted instantiation: strerror.c:strcaseeq Unexecuted instantiation: atomics.c:strcaseeq Unexecuted instantiation: string.c:strcaseeq Unexecuted instantiation: memory.c:strcaseeq Unexecuted instantiation: tty.c:strcaseeq Unexecuted instantiation: path.c:strcaseeq Unexecuted instantiation: time.c:strcaseeq Unexecuted instantiation: thread.c:strcaseeq Unexecuted instantiation: thread_value.c:strcaseeq Unexecuted instantiation: mutex.c:strcaseeq Unexecuted instantiation: rwlock.c:strcaseeq Unexecuted instantiation: stream_unix.c:strcaseeq Unexecuted instantiation: stream_service_unix.c:strcaseeq Unexecuted instantiation: printf_hook_glibc.c:strcaseeq Unexecuted instantiation: asn1.c:strcaseeq Unexecuted instantiation: asn1_parser.c:strcaseeq Unexecuted instantiation: oid.c:strcaseeq Unexecuted instantiation: bio_writer.c:strcaseeq Unexecuted instantiation: enumerator.c:strcaseeq Unexecuted instantiation: hashlist.c:strcaseeq Unexecuted instantiation: linked_list.c:strcaseeq Unexecuted instantiation: crypter.c:strcaseeq Unexecuted instantiation: drbg.c:strcaseeq Unexecuted instantiation: hasher.c:strcaseeq Unexecuted instantiation: prf.c:strcaseeq Unexecuted instantiation: rng.c:strcaseeq Unexecuted instantiation: rng_tester.c:strcaseeq Unexecuted instantiation: signer.c:strcaseeq Unexecuted instantiation: private_key.c:strcaseeq Unexecuted instantiation: signature_params.c:strcaseeq Unexecuted instantiation: crl.c:strcaseeq Unexecuted instantiation: ocsp_response_wrapper.c:strcaseeq Unexecuted instantiation: mem_cred.c:strcaseeq Unexecuted instantiation: database.c:strcaseeq Unexecuted instantiation: stream.c:strcaseeq Unexecuted instantiation: stream_service.c:strcaseeq Unexecuted instantiation: pen.c:strcaseeq Unexecuted instantiation: job.c:strcaseeq Unexecuted instantiation: callback_job.c:strcaseeq Unexecuted instantiation: spinlock.c:strcaseeq Unexecuted instantiation: bio_reader.c:strcaseeq Unexecuted instantiation: mac_prf.c:strcaseeq Unexecuted instantiation: pkcs5.c:strcaseeq Unexecuted instantiation: mac_signer.c:strcaseeq Unexecuted instantiation: iv_gen_seq.c:strcaseeq Unexecuted instantiation: ocsp_response.c:strcaseeq Unexecuted instantiation: x509.c:strcaseeq Unexecuted instantiation: ocsp_single_response.c:strcaseeq Unexecuted instantiation: pkcs12.c:strcaseeq Unexecuted instantiation: lexparser.c:strcaseeq |
57 | | |
58 | | /** |
59 | | * Helper function that compares two strings for equality ignoring case, length limited |
60 | | */ |
61 | | static inline bool strncaseeq(const char *x, const char *y, size_t len) |
62 | 297 | { |
63 | 297 | return (x == y) || (x && y && strncasecmp(x, y, len) == 0); |
64 | 297 | } Unexecuted instantiation: library.c:strncaseeq Unexecuted instantiation: hashtable.c:strncaseeq Unexecuted instantiation: array.c:strncaseeq Unexecuted instantiation: proposal.c:strncaseeq Unexecuted instantiation: proposal_keywords.c:strncaseeq Unexecuted instantiation: proposal_keywords_static.c:strncaseeq Unexecuted instantiation: crypto_factory.c:strncaseeq Unexecuted instantiation: crypto_tester.c:strncaseeq Unexecuted instantiation: key_exchange.c:strncaseeq Unexecuted instantiation: transform.c:strncaseeq Unexecuted instantiation: kdf.c:strncaseeq Unexecuted instantiation: xof.c:strncaseeq Unexecuted instantiation: credential_factory.c:strncaseeq Unexecuted instantiation: cred_encoding.c:strncaseeq Unexecuted instantiation: public_key.c:strncaseeq Unexecuted instantiation: certificate.c:strncaseeq Unexecuted instantiation: container.c:strncaseeq Unexecuted instantiation: credential_manager.c:strncaseeq Unexecuted instantiation: ocsp_responders.c:strncaseeq Unexecuted instantiation: auth_cfg_wrapper.c:strncaseeq Unexecuted instantiation: cert_cache.c:strncaseeq Unexecuted instantiation: auth_cfg.c:strncaseeq Unexecuted instantiation: database_factory.c:strncaseeq Unexecuted instantiation: fetcher_manager.c:strncaseeq Unexecuted instantiation: eap.c:strncaseeq Unexecuted instantiation: metadata_factory.c:strncaseeq Unexecuted instantiation: metadata_int.c:strncaseeq Unexecuted instantiation: host.c:strncaseeq Unexecuted instantiation: host_resolver.c:strncaseeq Unexecuted instantiation: stream_manager.c:strncaseeq Unexecuted instantiation: stream_tcp.c:strncaseeq Unexecuted instantiation: stream_service_tcp.c:strncaseeq Unexecuted instantiation: plugin_loader.c:strncaseeq Unexecuted instantiation: plugin_feature.c:strncaseeq Unexecuted instantiation: processor.c:strncaseeq Unexecuted instantiation: scheduler.c:strncaseeq Unexecuted instantiation: watcher.c:strncaseeq Unexecuted instantiation: resolver_manager.c:strncaseeq Unexecuted instantiation: traffic_selector.c:strncaseeq Unexecuted instantiation: settings.c:strncaseeq Unexecuted instantiation: settings_types.c:strncaseeq Unexecuted instantiation: settings_parser.c:strncaseeq Unexecuted instantiation: settings_lexer.c:strncaseeq Unexecuted instantiation: utils.c:strncaseeq Unexecuted instantiation: chunk.c:strncaseeq Unexecuted instantiation: debug.c:strncaseeq Unexecuted instantiation: enum.c:strncaseeq identification.c:strncaseeq Line | Count | Source | 62 | 297 | { | 63 | 297 | return (x == y) || (x && y && strncasecmp(x, y, len) == 0); | 64 | 297 | } |
Unexecuted instantiation: capabilities.c:strncaseeq Unexecuted instantiation: backtrace.c:strncaseeq Unexecuted instantiation: parser_helper.c:strncaseeq Unexecuted instantiation: strerror.c:strncaseeq Unexecuted instantiation: atomics.c:strncaseeq Unexecuted instantiation: string.c:strncaseeq Unexecuted instantiation: memory.c:strncaseeq Unexecuted instantiation: tty.c:strncaseeq Unexecuted instantiation: path.c:strncaseeq Unexecuted instantiation: time.c:strncaseeq Unexecuted instantiation: thread.c:strncaseeq Unexecuted instantiation: thread_value.c:strncaseeq Unexecuted instantiation: mutex.c:strncaseeq Unexecuted instantiation: rwlock.c:strncaseeq Unexecuted instantiation: stream_unix.c:strncaseeq Unexecuted instantiation: stream_service_unix.c:strncaseeq Unexecuted instantiation: printf_hook_glibc.c:strncaseeq Unexecuted instantiation: asn1.c:strncaseeq Unexecuted instantiation: asn1_parser.c:strncaseeq Unexecuted instantiation: oid.c:strncaseeq Unexecuted instantiation: bio_writer.c:strncaseeq Unexecuted instantiation: enumerator.c:strncaseeq Unexecuted instantiation: hashlist.c:strncaseeq Unexecuted instantiation: linked_list.c:strncaseeq Unexecuted instantiation: crypter.c:strncaseeq Unexecuted instantiation: drbg.c:strncaseeq Unexecuted instantiation: hasher.c:strncaseeq Unexecuted instantiation: prf.c:strncaseeq Unexecuted instantiation: rng.c:strncaseeq Unexecuted instantiation: rng_tester.c:strncaseeq Unexecuted instantiation: signer.c:strncaseeq Unexecuted instantiation: private_key.c:strncaseeq Unexecuted instantiation: signature_params.c:strncaseeq Unexecuted instantiation: crl.c:strncaseeq Unexecuted instantiation: ocsp_response_wrapper.c:strncaseeq Unexecuted instantiation: mem_cred.c:strncaseeq Unexecuted instantiation: database.c:strncaseeq Unexecuted instantiation: stream.c:strncaseeq Unexecuted instantiation: stream_service.c:strncaseeq Unexecuted instantiation: pen.c:strncaseeq Unexecuted instantiation: job.c:strncaseeq Unexecuted instantiation: callback_job.c:strncaseeq Unexecuted instantiation: spinlock.c:strncaseeq Unexecuted instantiation: bio_reader.c:strncaseeq Unexecuted instantiation: mac_prf.c:strncaseeq Unexecuted instantiation: pkcs5.c:strncaseeq Unexecuted instantiation: mac_signer.c:strncaseeq Unexecuted instantiation: iv_gen_seq.c:strncaseeq Unexecuted instantiation: ocsp_response.c:strncaseeq Unexecuted instantiation: x509.c:strncaseeq Unexecuted instantiation: ocsp_single_response.c:strncaseeq Unexecuted instantiation: pkcs12.c:strncaseeq Unexecuted instantiation: lexparser.c:strncaseeq |
65 | | |
66 | | /** |
67 | | * Helper function that checks if a string starts with a given prefix |
68 | | */ |
69 | | static inline bool strcasepfx(const char *x, const char *prefix) |
70 | 0 | { |
71 | 0 | return strncaseeq(x, prefix, strlen(prefix)); |
72 | 0 | } Unexecuted instantiation: library.c:strcasepfx Unexecuted instantiation: hashtable.c:strcasepfx Unexecuted instantiation: array.c:strcasepfx Unexecuted instantiation: proposal.c:strcasepfx Unexecuted instantiation: proposal_keywords.c:strcasepfx Unexecuted instantiation: proposal_keywords_static.c:strcasepfx Unexecuted instantiation: crypto_factory.c:strcasepfx Unexecuted instantiation: crypto_tester.c:strcasepfx Unexecuted instantiation: key_exchange.c:strcasepfx Unexecuted instantiation: transform.c:strcasepfx Unexecuted instantiation: kdf.c:strcasepfx Unexecuted instantiation: xof.c:strcasepfx Unexecuted instantiation: credential_factory.c:strcasepfx Unexecuted instantiation: cred_encoding.c:strcasepfx Unexecuted instantiation: public_key.c:strcasepfx Unexecuted instantiation: certificate.c:strcasepfx Unexecuted instantiation: container.c:strcasepfx Unexecuted instantiation: credential_manager.c:strcasepfx Unexecuted instantiation: ocsp_responders.c:strcasepfx Unexecuted instantiation: auth_cfg_wrapper.c:strcasepfx Unexecuted instantiation: cert_cache.c:strcasepfx Unexecuted instantiation: auth_cfg.c:strcasepfx Unexecuted instantiation: database_factory.c:strcasepfx Unexecuted instantiation: fetcher_manager.c:strcasepfx Unexecuted instantiation: eap.c:strcasepfx Unexecuted instantiation: metadata_factory.c:strcasepfx Unexecuted instantiation: metadata_int.c:strcasepfx Unexecuted instantiation: host.c:strcasepfx Unexecuted instantiation: host_resolver.c:strcasepfx Unexecuted instantiation: stream_manager.c:strcasepfx Unexecuted instantiation: stream_tcp.c:strcasepfx Unexecuted instantiation: stream_service_tcp.c:strcasepfx Unexecuted instantiation: plugin_loader.c:strcasepfx Unexecuted instantiation: plugin_feature.c:strcasepfx Unexecuted instantiation: processor.c:strcasepfx Unexecuted instantiation: scheduler.c:strcasepfx Unexecuted instantiation: watcher.c:strcasepfx Unexecuted instantiation: resolver_manager.c:strcasepfx Unexecuted instantiation: traffic_selector.c:strcasepfx Unexecuted instantiation: settings.c:strcasepfx Unexecuted instantiation: settings_types.c:strcasepfx Unexecuted instantiation: settings_parser.c:strcasepfx Unexecuted instantiation: settings_lexer.c:strcasepfx Unexecuted instantiation: utils.c:strcasepfx Unexecuted instantiation: chunk.c:strcasepfx Unexecuted instantiation: debug.c:strcasepfx Unexecuted instantiation: enum.c:strcasepfx Unexecuted instantiation: identification.c:strcasepfx Unexecuted instantiation: capabilities.c:strcasepfx Unexecuted instantiation: backtrace.c:strcasepfx Unexecuted instantiation: parser_helper.c:strcasepfx Unexecuted instantiation: strerror.c:strcasepfx Unexecuted instantiation: atomics.c:strcasepfx Unexecuted instantiation: string.c:strcasepfx Unexecuted instantiation: memory.c:strcasepfx Unexecuted instantiation: tty.c:strcasepfx Unexecuted instantiation: path.c:strcasepfx Unexecuted instantiation: time.c:strcasepfx Unexecuted instantiation: thread.c:strcasepfx Unexecuted instantiation: thread_value.c:strcasepfx Unexecuted instantiation: mutex.c:strcasepfx Unexecuted instantiation: rwlock.c:strcasepfx Unexecuted instantiation: stream_unix.c:strcasepfx Unexecuted instantiation: stream_service_unix.c:strcasepfx Unexecuted instantiation: printf_hook_glibc.c:strcasepfx Unexecuted instantiation: asn1.c:strcasepfx Unexecuted instantiation: asn1_parser.c:strcasepfx Unexecuted instantiation: oid.c:strcasepfx Unexecuted instantiation: bio_writer.c:strcasepfx Unexecuted instantiation: enumerator.c:strcasepfx Unexecuted instantiation: hashlist.c:strcasepfx Unexecuted instantiation: linked_list.c:strcasepfx Unexecuted instantiation: crypter.c:strcasepfx Unexecuted instantiation: drbg.c:strcasepfx Unexecuted instantiation: hasher.c:strcasepfx Unexecuted instantiation: prf.c:strcasepfx Unexecuted instantiation: rng.c:strcasepfx Unexecuted instantiation: rng_tester.c:strcasepfx Unexecuted instantiation: signer.c:strcasepfx Unexecuted instantiation: private_key.c:strcasepfx Unexecuted instantiation: signature_params.c:strcasepfx Unexecuted instantiation: crl.c:strcasepfx Unexecuted instantiation: ocsp_response_wrapper.c:strcasepfx Unexecuted instantiation: mem_cred.c:strcasepfx Unexecuted instantiation: database.c:strcasepfx Unexecuted instantiation: stream.c:strcasepfx Unexecuted instantiation: stream_service.c:strcasepfx Unexecuted instantiation: pen.c:strcasepfx Unexecuted instantiation: job.c:strcasepfx Unexecuted instantiation: callback_job.c:strcasepfx Unexecuted instantiation: spinlock.c:strcasepfx Unexecuted instantiation: bio_reader.c:strcasepfx Unexecuted instantiation: mac_prf.c:strcasepfx Unexecuted instantiation: pkcs5.c:strcasepfx Unexecuted instantiation: mac_signer.c:strcasepfx Unexecuted instantiation: iv_gen_seq.c:strcasepfx Unexecuted instantiation: ocsp_response.c:strcasepfx Unexecuted instantiation: x509.c:strcasepfx Unexecuted instantiation: ocsp_single_response.c:strcasepfx Unexecuted instantiation: pkcs12.c:strcasepfx Unexecuted instantiation: lexparser.c:strcasepfx |
73 | | |
74 | | /** |
75 | | * NULL-safe strdup variant |
76 | | */ |
77 | | static inline char *strdupnull(const char *s) |
78 | 24.6k | { |
79 | 24.6k | return s ? strdup(s) : NULL; |
80 | 24.6k | } Line | Count | Source | 78 | 3.51k | { | 79 | 3.51k | return s ? strdup(s) : NULL; | 80 | 3.51k | } |
Unexecuted instantiation: hashtable.c:strdupnull Unexecuted instantiation: array.c:strdupnull Unexecuted instantiation: proposal.c:strdupnull Unexecuted instantiation: proposal_keywords.c:strdupnull Unexecuted instantiation: proposal_keywords_static.c:strdupnull Unexecuted instantiation: crypto_factory.c:strdupnull Unexecuted instantiation: crypto_tester.c:strdupnull Unexecuted instantiation: key_exchange.c:strdupnull Unexecuted instantiation: transform.c:strdupnull Unexecuted instantiation: kdf.c:strdupnull Unexecuted instantiation: xof.c:strdupnull Unexecuted instantiation: credential_factory.c:strdupnull Unexecuted instantiation: cred_encoding.c:strdupnull Unexecuted instantiation: public_key.c:strdupnull Unexecuted instantiation: certificate.c:strdupnull Unexecuted instantiation: container.c:strdupnull Unexecuted instantiation: credential_manager.c:strdupnull Unexecuted instantiation: ocsp_responders.c:strdupnull Unexecuted instantiation: auth_cfg_wrapper.c:strdupnull Unexecuted instantiation: cert_cache.c:strdupnull Unexecuted instantiation: auth_cfg.c:strdupnull Unexecuted instantiation: database_factory.c:strdupnull Unexecuted instantiation: fetcher_manager.c:strdupnull Unexecuted instantiation: eap.c:strdupnull Unexecuted instantiation: metadata_factory.c:strdupnull Unexecuted instantiation: metadata_int.c:strdupnull Unexecuted instantiation: host.c:strdupnull Unexecuted instantiation: host_resolver.c:strdupnull Unexecuted instantiation: stream_manager.c:strdupnull Unexecuted instantiation: stream_tcp.c:strdupnull Unexecuted instantiation: stream_service_tcp.c:strdupnull plugin_loader.c:strdupnull Line | Count | Source | 78 | 21.0k | { | 79 | 21.0k | return s ? strdup(s) : NULL; | 80 | 21.0k | } |
Unexecuted instantiation: plugin_feature.c:strdupnull Unexecuted instantiation: processor.c:strdupnull Unexecuted instantiation: scheduler.c:strdupnull Unexecuted instantiation: watcher.c:strdupnull Unexecuted instantiation: resolver_manager.c:strdupnull Unexecuted instantiation: traffic_selector.c:strdupnull Unexecuted instantiation: settings.c:strdupnull Unexecuted instantiation: settings_types.c:strdupnull Unexecuted instantiation: settings_parser.c:strdupnull Unexecuted instantiation: settings_lexer.c:strdupnull Unexecuted instantiation: utils.c:strdupnull Unexecuted instantiation: chunk.c:strdupnull Unexecuted instantiation: debug.c:strdupnull Unexecuted instantiation: enum.c:strdupnull Unexecuted instantiation: identification.c:strdupnull Unexecuted instantiation: capabilities.c:strdupnull Unexecuted instantiation: backtrace.c:strdupnull Unexecuted instantiation: parser_helper.c:strdupnull Unexecuted instantiation: strerror.c:strdupnull Unexecuted instantiation: atomics.c:strdupnull Unexecuted instantiation: string.c:strdupnull Unexecuted instantiation: memory.c:strdupnull Unexecuted instantiation: tty.c:strdupnull Unexecuted instantiation: path.c:strdupnull Unexecuted instantiation: time.c:strdupnull Unexecuted instantiation: thread.c:strdupnull Unexecuted instantiation: thread_value.c:strdupnull Unexecuted instantiation: mutex.c:strdupnull Unexecuted instantiation: rwlock.c:strdupnull Unexecuted instantiation: stream_unix.c:strdupnull Unexecuted instantiation: stream_service_unix.c:strdupnull Unexecuted instantiation: printf_hook_glibc.c:strdupnull Unexecuted instantiation: asn1.c:strdupnull Unexecuted instantiation: asn1_parser.c:strdupnull Unexecuted instantiation: oid.c:strdupnull Unexecuted instantiation: bio_writer.c:strdupnull Unexecuted instantiation: enumerator.c:strdupnull Unexecuted instantiation: hashlist.c:strdupnull Unexecuted instantiation: linked_list.c:strdupnull Unexecuted instantiation: crypter.c:strdupnull Unexecuted instantiation: drbg.c:strdupnull Unexecuted instantiation: hasher.c:strdupnull Unexecuted instantiation: prf.c:strdupnull Unexecuted instantiation: rng.c:strdupnull Unexecuted instantiation: rng_tester.c:strdupnull Unexecuted instantiation: signer.c:strdupnull Unexecuted instantiation: private_key.c:strdupnull Unexecuted instantiation: signature_params.c:strdupnull Unexecuted instantiation: crl.c:strdupnull Unexecuted instantiation: ocsp_response_wrapper.c:strdupnull Unexecuted instantiation: mem_cred.c:strdupnull Unexecuted instantiation: database.c:strdupnull Unexecuted instantiation: stream.c:strdupnull Unexecuted instantiation: stream_service.c:strdupnull Unexecuted instantiation: pen.c:strdupnull Unexecuted instantiation: job.c:strdupnull Unexecuted instantiation: callback_job.c:strdupnull Unexecuted instantiation: spinlock.c:strdupnull Unexecuted instantiation: bio_reader.c:strdupnull Unexecuted instantiation: mac_prf.c:strdupnull Unexecuted instantiation: pkcs5.c:strdupnull Unexecuted instantiation: mac_signer.c:strdupnull Unexecuted instantiation: iv_gen_seq.c:strdupnull Unexecuted instantiation: ocsp_response.c:strdupnull Unexecuted instantiation: x509.c:strdupnull Unexecuted instantiation: ocsp_single_response.c:strdupnull Unexecuted instantiation: pkcs12.c:strdupnull Unexecuted instantiation: lexparser.c:strdupnull |
81 | | |
82 | | /** |
83 | | * Translates the characters in the given string, searching for characters |
84 | | * in 'from' and mapping them to characters in 'to'. |
85 | | * The two characters sets 'from' and 'to' must contain the same number of |
86 | | * characters. |
87 | | */ |
88 | | char *translate(char *str, const char *from, const char *to); |
89 | | |
90 | | /** |
91 | | * Replaces all occurrences of search in the given string with replace. |
92 | | * |
93 | | * Allocates memory only if anything is replaced in the string. The original |
94 | | * string is also returned if any of the arguments are invalid (e.g. if search |
95 | | * is empty or any of them are NULL). |
96 | | * |
97 | | * @param str original string |
98 | | * @param search string to search for and replace |
99 | | * @param replace string to replace found occurrences with |
100 | | * @return allocated string, if anything got replaced, str otherwise |
101 | | */ |
102 | | char *strreplace(const char *str, const char *search, const char *replace); |
103 | | |
104 | | #endif /** STRING_H_ @} */ |