Coverage Report

Created: 2025-07-11 06:28

/src/opensips/trim.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2001-2003 FhG Fokus
3
 *
4
 * This file is part of opensips, a free SIP server.
5
 *
6
 * opensips is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License as published by
8
 * the Free Software Foundation; either version 2 of the License, or
9
 * (at your option) any later version
10
 *
11
 * opensips is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
19
 */
20
21
22
#ifndef TRIM_H
23
#define TRIM_H
24
25
#include "str.h"
26
27
/* whitespace */
28
static inline int
29
is_ws(unsigned char ch)
30
36.2M
{
31
36.2M
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
36.2M
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
36.2M
    ch--;
34
36.2M
    return ch < ' ' && ((1U << ch) & mask);
35
36.2M
}
Unexecuted instantiation: fuzz_csv_parser.c:is_ws
csv.c:is_ws
Line
Count
Source
30
9.22k
{
31
9.22k
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
9.22k
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
9.22k
    ch--;
34
9.22k
    return ch < ' ' && ((1U << ch) & mask);
35
9.22k
}
Unexecuted instantiation: dprint.c:is_ws
Unexecuted instantiation: pt.c:is_ws
Unexecuted instantiation: ut.c:is_ws
Unexecuted instantiation: statistics.c:is_ws
Unexecuted instantiation: route.c:is_ws
Unexecuted instantiation: ipc.c:is_ws
Unexecuted instantiation: core_stats.c:is_ws
Unexecuted instantiation: route_struct.c:is_ws
Unexecuted instantiation: dset.c:is_ws
Unexecuted instantiation: pt_load.c:is_ws
Unexecuted instantiation: sr_module.c:is_ws
Unexecuted instantiation: action.c:is_ws
Unexecuted instantiation: db_insertq.c:is_ws
Unexecuted instantiation: db.c:is_ws
Unexecuted instantiation: proto_tcp.c:is_ws
Unexecuted instantiation: proto_udp.c:is_ws
Unexecuted instantiation: net_tcp_proc.c:is_ws
Unexecuted instantiation: net_tcp.c:is_ws
Unexecuted instantiation: tcp_common.c:is_ws
Unexecuted instantiation: net_udp.c:is_ws
Unexecuted instantiation: tcp_conn_profile.c:is_ws
Unexecuted instantiation: trans_trace.c:is_ws
Unexecuted instantiation: net_tcp_report.c:is_ws
Unexecuted instantiation: shm_mem.c:is_ws
Unexecuted instantiation: mi.c:is_ws
Unexecuted instantiation: item.c:is_ws
Unexecuted instantiation: msg_parser.c:is_ws
Unexecuted instantiation: parse_uri.c:is_ws
Unexecuted instantiation: parse_fline.c:is_ws
Unexecuted instantiation: parse_methods.c:is_ws
Unexecuted instantiation: parse_hname2.c:is_ws
Unexecuted instantiation: parse_content.c:is_ws
Unexecuted instantiation: hf.c:is_ws
Unexecuted instantiation: parse_to.c:is_ws
Unexecuted instantiation: parse_via.c:is_ws
Unexecuted instantiation: event_interface.c:is_ws
Unexecuted instantiation: receive.c:is_ws
Unexecuted instantiation: error.c:is_ws
Unexecuted instantiation: script_cb.c:is_ws
Unexecuted instantiation: ip_addr.c:is_ws
Unexecuted instantiation: data_lump_rpl.c:is_ws
Unexecuted instantiation: async.c:is_ws
Unexecuted instantiation: daemonize.c:is_ws
Unexecuted instantiation: timer.c:is_ws
Unexecuted instantiation: trace_api.c:is_ws
Unexecuted instantiation: mod_fix.c:is_ws
Unexecuted instantiation: reactor.c:is_ws
Unexecuted instantiation: strcommon.c:is_ws
Unexecuted instantiation: forward.c:is_ws
Unexecuted instantiation: xlog.c:is_ws
Unexecuted instantiation: blacklists.c:is_ws
Unexecuted instantiation: msg_callbacks.c:is_ws
Unexecuted instantiation: usr_avp.c:is_ws
Unexecuted instantiation: sl_cb.c:is_ws
Unexecuted instantiation: sdp_ops.c:is_ws
Unexecuted instantiation: resolve.c:is_ws
Unexecuted instantiation: io_wait.c:is_ws
Unexecuted instantiation: transformations.c:is_ws
Unexecuted instantiation: pvar.c:is_ws
Unexecuted instantiation: sr_module_deps.c:is_ws
Unexecuted instantiation: cfg_reload.c:is_ws
Unexecuted instantiation: socket_info.c:is_ws
Unexecuted instantiation: time_rec.c:is_ws
Unexecuted instantiation: data_lump.c:is_ws
Unexecuted instantiation: status_report.c:is_ws
Unexecuted instantiation: pt_scaling.c:is_ws
Unexecuted instantiation: signals.c:is_ws
Unexecuted instantiation: flags.c:is_ws
Unexecuted instantiation: db_id.c:is_ws
Unexecuted instantiation: trans.c:is_ws
Unexecuted instantiation: sdp.c:is_ws
Unexecuted instantiation: sdp_helpr_funcs.c:is_ws
digest_parser.c:is_ws
Line
Count
Source
30
10.9M
{
31
10.9M
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
10.9M
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
10.9M
    ch--;
34
10.9M
    return ch < ' ' && ((1U << ch) & mask);
35
10.9M
}
param_parser.c:is_ws
Line
Count
Source
30
128k
{
31
128k
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
128k
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
128k
    ch--;
34
128k
    return ch < ' ' && ((1U << ch) & mask);
35
128k
}
Unexecuted instantiation: digest.c:is_ws
parse_contact.c:is_ws
Line
Count
Source
30
1.30k
{
31
1.30k
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
1.30k
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
1.30k
    ch--;
34
1.30k
    return ch < ' ' && ((1U << ch) & mask);
35
1.30k
}
contact.c:is_ws
Line
Count
Source
30
97.4k
{
31
97.4k
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
97.4k
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
97.4k
    ch--;
34
97.4k
    return ch < ' ' && ((1U << ch) & mask);
35
97.4k
}
Unexecuted instantiation: parse_body.c:is_ws
Unexecuted instantiation: parse_security.c:is_ws
Unexecuted instantiation: parse_call_info.c:is_ws
Unexecuted instantiation: parse_event.c:is_ws
Unexecuted instantiation: parse_disposition.c:is_ws
parse_authenticate.c:is_ws
Line
Count
Source
30
24.7M
{
31
24.7M
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
24.7M
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
24.7M
    ch--;
34
24.7M
    return ch < ' ' && ((1U << ch) & mask);
35
24.7M
}
Unexecuted instantiation: parser_f.c:is_ws
Unexecuted instantiation: parse_rpid.c:is_ws
Unexecuted instantiation: parse_ppi.c:is_ws
Unexecuted instantiation: parse_fcaps.c:is_ws
Unexecuted instantiation: parse_sst.c:is_ws
Unexecuted instantiation: parse_rr.c:is_ws
parse_param.c:is_ws
Line
Count
Source
30
331k
{
31
331k
    const unsigned int mask = (1U << (' ' - 1)) | (1U << ('\r' - 1)) |
32
331k
        (1U << ('\n' - 1)) | (1U << ('\t' - 1));
33
331k
    ch--;
34
331k
    return ch < ' ' && ((1U << ch) & mask);
35
331k
}
Unexecuted instantiation: parse_diversion.c:is_ws
Unexecuted instantiation: parse_nameaddr.c:is_ws
Unexecuted instantiation: parse_expires.c:is_ws
Unexecuted instantiation: parse_refer_to.c:is_ws
Unexecuted instantiation: parse_from.c:is_ws
Unexecuted instantiation: parse_pai.c:is_ws
Unexecuted instantiation: evi_transport.c:is_ws
Unexecuted instantiation: msg_translator.c:is_ws
Unexecuted instantiation: md5utils.c:is_ws
Unexecuted instantiation: cfg.tab.c:is_ws
Unexecuted instantiation: modparam.c:is_ws
Unexecuted instantiation: crc.c:is_ws
Unexecuted instantiation: re.c:is_ws
Unexecuted instantiation: lex.yy.c:is_ws
Unexecuted instantiation: cfg_pp.c:is_ws
Unexecuted instantiation: shutdown.c:is_ws
Unexecuted instantiation: cmds.c:is_ws
Unexecuted instantiation: core_cmds.c:is_ws
Unexecuted instantiation: serialize.c:is_ws
Unexecuted instantiation: cachedb.c:is_ws
Unexecuted instantiation: cachedb_id.c:is_ws
Unexecuted instantiation: fuzz_uri_parser.c:is_ws
Unexecuted instantiation: fuzz_core_funcs.c:is_ws
Unexecuted instantiation: fuzz_msg_parser.c:is_ws
36
37
/*
38
 * trim leading ws
39
 *
40
 * Input: (char *)
41
 */
42
0
#define trim_ws(p) while (*(p) && is_ws(*(p))) p++
43
44
/*
45
 * trim trailing ws
46
 *
47
 * Input: (char *)
48
 */
49
0
#define trim_trail_ws(p) while (*(p) && is_ws(*(p))) p--
50
51
/*
52
 * This switch-case statement is used in
53
 * trim_leading and trim_trailing. You can
54
 * define characters that should be skipped
55
 * here.
56
 */
57
3.25M
#define TRIM_SWITCH(c) {if (!is_ws(c)) return;}
58
59
/*! \brief
60
 * Remove any leading whitechars, like spaces,
61
 * horizontal tabs, carriage returns and line
62
 * feeds
63
 *
64
 * WARNING: String descriptor structure will be
65
 *          modified ! Make a copy otherwise you
66
 *          might be unable to free _s->s for
67
 *          example !
68
 *
69
 */
70
static inline void trim_leading(str* _s)
71
2.85M
{
72
3.21M
  for(; _s->len > 0; _s->len--, _s->s++) {
73
3.20M
    TRIM_SWITCH(*(_s->s));
74
367k
  }
75
2.85M
}
Unexecuted instantiation: fuzz_csv_parser.c:trim_leading
csv.c:trim_leading
Line
Count
Source
71
5.58k
{
72
7.35k
  for(; _s->len > 0; _s->len--, _s->s++) {
73
4.60k
    TRIM_SWITCH(*(_s->s));
74
1.77k
  }
75
5.58k
}
Unexecuted instantiation: dprint.c:trim_leading
Unexecuted instantiation: pt.c:trim_leading
Unexecuted instantiation: ut.c:trim_leading
Unexecuted instantiation: statistics.c:trim_leading
Unexecuted instantiation: route.c:trim_leading
Unexecuted instantiation: ipc.c:trim_leading
Unexecuted instantiation: core_stats.c:trim_leading
Unexecuted instantiation: route_struct.c:trim_leading
Unexecuted instantiation: dset.c:trim_leading
Unexecuted instantiation: pt_load.c:trim_leading
Unexecuted instantiation: sr_module.c:trim_leading
Unexecuted instantiation: action.c:trim_leading
Unexecuted instantiation: db_insertq.c:trim_leading
Unexecuted instantiation: db.c:trim_leading
Unexecuted instantiation: proto_tcp.c:trim_leading
Unexecuted instantiation: proto_udp.c:trim_leading
Unexecuted instantiation: net_tcp_proc.c:trim_leading
Unexecuted instantiation: net_tcp.c:trim_leading
Unexecuted instantiation: tcp_common.c:trim_leading
Unexecuted instantiation: net_udp.c:trim_leading
Unexecuted instantiation: tcp_conn_profile.c:trim_leading
Unexecuted instantiation: trans_trace.c:trim_leading
Unexecuted instantiation: net_tcp_report.c:trim_leading
Unexecuted instantiation: shm_mem.c:trim_leading
Unexecuted instantiation: mi.c:trim_leading
Unexecuted instantiation: item.c:trim_leading
Unexecuted instantiation: msg_parser.c:trim_leading
Unexecuted instantiation: parse_uri.c:trim_leading
Unexecuted instantiation: parse_fline.c:trim_leading
Unexecuted instantiation: parse_methods.c:trim_leading
Unexecuted instantiation: parse_hname2.c:trim_leading
Unexecuted instantiation: parse_content.c:trim_leading
Unexecuted instantiation: hf.c:trim_leading
Unexecuted instantiation: parse_to.c:trim_leading
Unexecuted instantiation: parse_via.c:trim_leading
Unexecuted instantiation: event_interface.c:trim_leading
Unexecuted instantiation: receive.c:trim_leading
Unexecuted instantiation: error.c:trim_leading
Unexecuted instantiation: script_cb.c:trim_leading
Unexecuted instantiation: ip_addr.c:trim_leading
Unexecuted instantiation: data_lump_rpl.c:trim_leading
Unexecuted instantiation: async.c:trim_leading
Unexecuted instantiation: daemonize.c:trim_leading
Unexecuted instantiation: timer.c:trim_leading
Unexecuted instantiation: trace_api.c:trim_leading
Unexecuted instantiation: mod_fix.c:trim_leading
Unexecuted instantiation: reactor.c:trim_leading
Unexecuted instantiation: strcommon.c:trim_leading
Unexecuted instantiation: forward.c:trim_leading
Unexecuted instantiation: xlog.c:trim_leading
Unexecuted instantiation: blacklists.c:trim_leading
Unexecuted instantiation: msg_callbacks.c:trim_leading
Unexecuted instantiation: usr_avp.c:trim_leading
Unexecuted instantiation: sl_cb.c:trim_leading
Unexecuted instantiation: sdp_ops.c:trim_leading
Unexecuted instantiation: resolve.c:trim_leading
Unexecuted instantiation: io_wait.c:trim_leading
Unexecuted instantiation: transformations.c:trim_leading
Unexecuted instantiation: pvar.c:trim_leading
Unexecuted instantiation: sr_module_deps.c:trim_leading
Unexecuted instantiation: cfg_reload.c:trim_leading
Unexecuted instantiation: socket_info.c:trim_leading
Unexecuted instantiation: time_rec.c:trim_leading
Unexecuted instantiation: data_lump.c:trim_leading
Unexecuted instantiation: status_report.c:trim_leading
Unexecuted instantiation: pt_scaling.c:trim_leading
Unexecuted instantiation: signals.c:trim_leading
Unexecuted instantiation: flags.c:trim_leading
Unexecuted instantiation: db_id.c:trim_leading
Unexecuted instantiation: trans.c:trim_leading
Unexecuted instantiation: sdp.c:trim_leading
Unexecuted instantiation: sdp_helpr_funcs.c:trim_leading
digest_parser.c:trim_leading
Line
Count
Source
71
873k
{
72
1.08M
  for(; _s->len > 0; _s->len--, _s->s++) {
73
1.08M
    TRIM_SWITCH(*(_s->s));
74
212k
  }
75
873k
}
param_parser.c:trim_leading
Line
Count
Source
71
118k
{
72
128k
  for(; _s->len > 0; _s->len--, _s->s++) {
73
128k
    TRIM_SWITCH(*(_s->s));
74
9.39k
  }
75
118k
}
Unexecuted instantiation: digest.c:trim_leading
parse_contact.c:trim_leading
Line
Count
Source
71
1.07k
{
72
1.31k
  for(; _s->len > 0; _s->len--, _s->s++) {
73
1.30k
    TRIM_SWITCH(*(_s->s));
74
236
  }
75
1.07k
}
contact.c:trim_leading
Line
Count
Source
71
48.6k
{
72
53.0k
  for(; _s->len > 0; _s->len--, _s->s++) {
73
52.9k
    TRIM_SWITCH(*(_s->s));
74
4.46k
  }
75
48.6k
}
Unexecuted instantiation: parse_body.c:trim_leading
Unexecuted instantiation: parse_security.c:trim_leading
Unexecuted instantiation: parse_call_info.c:trim_leading
Unexecuted instantiation: parse_event.c:trim_leading
Unexecuted instantiation: parse_disposition.c:trim_leading
parse_authenticate.c:trim_leading
Line
Count
Source
71
1.47M
{
72
1.60M
  for(; _s->len > 0; _s->len--, _s->s++) {
73
1.59M
    TRIM_SWITCH(*(_s->s));
74
132k
  }
75
1.47M
}
Unexecuted instantiation: parser_f.c:trim_leading
Unexecuted instantiation: parse_rpid.c:trim_leading
Unexecuted instantiation: parse_ppi.c:trim_leading
Unexecuted instantiation: parse_fcaps.c:trim_leading
Unexecuted instantiation: parse_sst.c:trim_leading
Unexecuted instantiation: parse_rr.c:trim_leading
parse_param.c:trim_leading
Line
Count
Source
71
326k
{
72
332k
  for(; _s->len > 0; _s->len--, _s->s++) {
73
331k
    TRIM_SWITCH(*(_s->s));
74
5.69k
  }
75
326k
}
Unexecuted instantiation: parse_diversion.c:trim_leading
Unexecuted instantiation: parse_nameaddr.c:trim_leading
Unexecuted instantiation: parse_expires.c:trim_leading
Unexecuted instantiation: parse_refer_to.c:trim_leading
Unexecuted instantiation: parse_from.c:trim_leading
Unexecuted instantiation: parse_pai.c:trim_leading
Unexecuted instantiation: evi_transport.c:trim_leading
Unexecuted instantiation: msg_translator.c:trim_leading
Unexecuted instantiation: md5utils.c:trim_leading
Unexecuted instantiation: cfg.tab.c:trim_leading
Unexecuted instantiation: modparam.c:trim_leading
Unexecuted instantiation: crc.c:trim_leading
Unexecuted instantiation: re.c:trim_leading
Unexecuted instantiation: lex.yy.c:trim_leading
Unexecuted instantiation: cfg_pp.c:trim_leading
Unexecuted instantiation: shutdown.c:trim_leading
Unexecuted instantiation: cmds.c:trim_leading
Unexecuted instantiation: core_cmds.c:trim_leading
Unexecuted instantiation: serialize.c:trim_leading
Unexecuted instantiation: cachedb.c:trim_leading
Unexecuted instantiation: cachedb_id.c:trim_leading
Unexecuted instantiation: fuzz_uri_parser.c:trim_leading
Unexecuted instantiation: fuzz_core_funcs.c:trim_leading
Unexecuted instantiation: fuzz_msg_parser.c:trim_leading
76
77
78
/*! \brief
79
 * Remove any trailing white char, like spaces,
80
 * horizontal tabs, carriage returns and line feeds
81
 *
82
 * WARNING: String descriptor structure will be
83
 *          modified ! Make a copy otherwise you
84
 *          might be unable to free _s->s for
85
 *          example !
86
 */
87
static inline void trim_trailing(str* _s)
88
62.1k
{
89
68.0k
  for(; _s->len > 0; _s->len--) {
90
50.0k
    TRIM_SWITCH(_s->s[_s->len - 1]);
91
5.88k
  }
92
62.1k
}
Unexecuted instantiation: fuzz_csv_parser.c:trim_trailing
csv.c:trim_trailing
Line
Count
Source
88
5.58k
{
89
7.36k
  for(; _s->len > 0; _s->len--) {
90
4.61k
    TRIM_SWITCH(_s->s[_s->len - 1]);
91
1.78k
  }
92
5.58k
}
Unexecuted instantiation: dprint.c:trim_trailing
Unexecuted instantiation: pt.c:trim_trailing
Unexecuted instantiation: ut.c:trim_trailing
Unexecuted instantiation: statistics.c:trim_trailing
Unexecuted instantiation: route.c:trim_trailing
Unexecuted instantiation: ipc.c:trim_trailing
Unexecuted instantiation: core_stats.c:trim_trailing
Unexecuted instantiation: route_struct.c:trim_trailing
Unexecuted instantiation: dset.c:trim_trailing
Unexecuted instantiation: pt_load.c:trim_trailing
Unexecuted instantiation: sr_module.c:trim_trailing
Unexecuted instantiation: action.c:trim_trailing
Unexecuted instantiation: db_insertq.c:trim_trailing
Unexecuted instantiation: db.c:trim_trailing
Unexecuted instantiation: proto_tcp.c:trim_trailing
Unexecuted instantiation: proto_udp.c:trim_trailing
Unexecuted instantiation: net_tcp_proc.c:trim_trailing
Unexecuted instantiation: net_tcp.c:trim_trailing
Unexecuted instantiation: tcp_common.c:trim_trailing
Unexecuted instantiation: net_udp.c:trim_trailing
Unexecuted instantiation: tcp_conn_profile.c:trim_trailing
Unexecuted instantiation: trans_trace.c:trim_trailing
Unexecuted instantiation: net_tcp_report.c:trim_trailing
Unexecuted instantiation: shm_mem.c:trim_trailing
Unexecuted instantiation: mi.c:trim_trailing
Unexecuted instantiation: item.c:trim_trailing
Unexecuted instantiation: msg_parser.c:trim_trailing
Unexecuted instantiation: parse_uri.c:trim_trailing
Unexecuted instantiation: parse_fline.c:trim_trailing
Unexecuted instantiation: parse_methods.c:trim_trailing
Unexecuted instantiation: parse_hname2.c:trim_trailing
Unexecuted instantiation: parse_content.c:trim_trailing
Unexecuted instantiation: hf.c:trim_trailing
Unexecuted instantiation: parse_to.c:trim_trailing
Unexecuted instantiation: parse_via.c:trim_trailing
Unexecuted instantiation: event_interface.c:trim_trailing
Unexecuted instantiation: receive.c:trim_trailing
Unexecuted instantiation: error.c:trim_trailing
Unexecuted instantiation: script_cb.c:trim_trailing
Unexecuted instantiation: ip_addr.c:trim_trailing
Unexecuted instantiation: data_lump_rpl.c:trim_trailing
Unexecuted instantiation: async.c:trim_trailing
Unexecuted instantiation: daemonize.c:trim_trailing
Unexecuted instantiation: timer.c:trim_trailing
Unexecuted instantiation: trace_api.c:trim_trailing
Unexecuted instantiation: mod_fix.c:trim_trailing
Unexecuted instantiation: reactor.c:trim_trailing
Unexecuted instantiation: strcommon.c:trim_trailing
Unexecuted instantiation: forward.c:trim_trailing
Unexecuted instantiation: xlog.c:trim_trailing
Unexecuted instantiation: blacklists.c:trim_trailing
Unexecuted instantiation: msg_callbacks.c:trim_trailing
Unexecuted instantiation: usr_avp.c:trim_trailing
Unexecuted instantiation: sl_cb.c:trim_trailing
Unexecuted instantiation: sdp_ops.c:trim_trailing
Unexecuted instantiation: resolve.c:trim_trailing
Unexecuted instantiation: io_wait.c:trim_trailing
Unexecuted instantiation: transformations.c:trim_trailing
Unexecuted instantiation: pvar.c:trim_trailing
Unexecuted instantiation: sr_module_deps.c:trim_trailing
Unexecuted instantiation: cfg_reload.c:trim_trailing
Unexecuted instantiation: socket_info.c:trim_trailing
Unexecuted instantiation: time_rec.c:trim_trailing
Unexecuted instantiation: data_lump.c:trim_trailing
Unexecuted instantiation: status_report.c:trim_trailing
Unexecuted instantiation: pt_scaling.c:trim_trailing
Unexecuted instantiation: signals.c:trim_trailing
Unexecuted instantiation: flags.c:trim_trailing
Unexecuted instantiation: db_id.c:trim_trailing
Unexecuted instantiation: trans.c:trim_trailing
Unexecuted instantiation: sdp.c:trim_trailing
Unexecuted instantiation: sdp_helpr_funcs.c:trim_trailing
digest_parser.c:trim_trailing
Line
Count
Source
88
283
{
89
1.00k
  for(; _s->len > 0; _s->len--) {
90
992
    TRIM_SWITCH(_s->s[_s->len - 1]);
91
724
  }
92
283
}
Unexecuted instantiation: param_parser.c:trim_trailing
Unexecuted instantiation: digest.c:trim_trailing
Unexecuted instantiation: parse_contact.c:trim_trailing
contact.c:trim_trailing
Line
Count
Source
88
56.3k
{
89
59.6k
  for(; _s->len > 0; _s->len--) {
90
44.4k
    TRIM_SWITCH(_s->s[_s->len - 1]);
91
3.37k
  }
92
56.3k
}
Unexecuted instantiation: parse_body.c:trim_trailing
Unexecuted instantiation: parse_security.c:trim_trailing
Unexecuted instantiation: parse_call_info.c:trim_trailing
Unexecuted instantiation: parse_event.c:trim_trailing
Unexecuted instantiation: parse_disposition.c:trim_trailing
Unexecuted instantiation: parse_authenticate.c:trim_trailing
Unexecuted instantiation: parser_f.c:trim_trailing
Unexecuted instantiation: parse_rpid.c:trim_trailing
Unexecuted instantiation: parse_ppi.c:trim_trailing
Unexecuted instantiation: parse_fcaps.c:trim_trailing
Unexecuted instantiation: parse_sst.c:trim_trailing
Unexecuted instantiation: parse_rr.c:trim_trailing
Unexecuted instantiation: parse_param.c:trim_trailing
Unexecuted instantiation: parse_diversion.c:trim_trailing
Unexecuted instantiation: parse_nameaddr.c:trim_trailing
Unexecuted instantiation: parse_expires.c:trim_trailing
Unexecuted instantiation: parse_refer_to.c:trim_trailing
Unexecuted instantiation: parse_from.c:trim_trailing
Unexecuted instantiation: parse_pai.c:trim_trailing
Unexecuted instantiation: evi_transport.c:trim_trailing
Unexecuted instantiation: msg_translator.c:trim_trailing
Unexecuted instantiation: md5utils.c:trim_trailing
Unexecuted instantiation: cfg.tab.c:trim_trailing
Unexecuted instantiation: modparam.c:trim_trailing
Unexecuted instantiation: crc.c:trim_trailing
Unexecuted instantiation: re.c:trim_trailing
Unexecuted instantiation: lex.yy.c:trim_trailing
Unexecuted instantiation: cfg_pp.c:trim_trailing
Unexecuted instantiation: shutdown.c:trim_trailing
Unexecuted instantiation: cmds.c:trim_trailing
Unexecuted instantiation: core_cmds.c:trim_trailing
Unexecuted instantiation: serialize.c:trim_trailing
Unexecuted instantiation: cachedb.c:trim_trailing
Unexecuted instantiation: cachedb_id.c:trim_trailing
Unexecuted instantiation: fuzz_uri_parser.c:trim_trailing
Unexecuted instantiation: fuzz_core_funcs.c:trim_trailing
Unexecuted instantiation: fuzz_msg_parser.c:trim_trailing
93
94
95
/*! \brief
96
 * Do trim_leading and trim_trailing
97
 *
98
 * WARNING: String structure will be modified !
99
 *          Make a copy otherwise you might be
100
 *          unable to free _s->s for example !
101
 */
102
static inline void trim(str* _s)
103
24.5k
{
104
24.5k
  trim_leading(_s);
105
24.5k
  trim_trailing(_s);
106
24.5k
}
Unexecuted instantiation: fuzz_csv_parser.c:trim
csv.c:trim
Line
Count
Source
103
5.58k
{
104
5.58k
  trim_leading(_s);
105
5.58k
  trim_trailing(_s);
106
5.58k
}
Unexecuted instantiation: dprint.c:trim
Unexecuted instantiation: pt.c:trim
Unexecuted instantiation: ut.c:trim
Unexecuted instantiation: statistics.c:trim
Unexecuted instantiation: route.c:trim
Unexecuted instantiation: ipc.c:trim
Unexecuted instantiation: core_stats.c:trim
Unexecuted instantiation: route_struct.c:trim
Unexecuted instantiation: dset.c:trim
Unexecuted instantiation: pt_load.c:trim
Unexecuted instantiation: sr_module.c:trim
Unexecuted instantiation: action.c:trim
Unexecuted instantiation: db_insertq.c:trim
Unexecuted instantiation: db.c:trim
Unexecuted instantiation: proto_tcp.c:trim
Unexecuted instantiation: proto_udp.c:trim
Unexecuted instantiation: net_tcp_proc.c:trim
Unexecuted instantiation: net_tcp.c:trim
Unexecuted instantiation: tcp_common.c:trim
Unexecuted instantiation: net_udp.c:trim
Unexecuted instantiation: tcp_conn_profile.c:trim
Unexecuted instantiation: trans_trace.c:trim
Unexecuted instantiation: net_tcp_report.c:trim
Unexecuted instantiation: shm_mem.c:trim
Unexecuted instantiation: mi.c:trim
Unexecuted instantiation: item.c:trim
Unexecuted instantiation: msg_parser.c:trim
Unexecuted instantiation: parse_uri.c:trim
Unexecuted instantiation: parse_fline.c:trim
Unexecuted instantiation: parse_methods.c:trim
Unexecuted instantiation: parse_hname2.c:trim
Unexecuted instantiation: parse_content.c:trim
Unexecuted instantiation: hf.c:trim
Unexecuted instantiation: parse_to.c:trim
Unexecuted instantiation: parse_via.c:trim
Unexecuted instantiation: event_interface.c:trim
Unexecuted instantiation: receive.c:trim
Unexecuted instantiation: error.c:trim
Unexecuted instantiation: script_cb.c:trim
Unexecuted instantiation: ip_addr.c:trim
Unexecuted instantiation: data_lump_rpl.c:trim
Unexecuted instantiation: async.c:trim
Unexecuted instantiation: daemonize.c:trim
Unexecuted instantiation: timer.c:trim
Unexecuted instantiation: trace_api.c:trim
Unexecuted instantiation: mod_fix.c:trim
Unexecuted instantiation: reactor.c:trim
Unexecuted instantiation: strcommon.c:trim
Unexecuted instantiation: forward.c:trim
Unexecuted instantiation: xlog.c:trim
Unexecuted instantiation: blacklists.c:trim
Unexecuted instantiation: msg_callbacks.c:trim
Unexecuted instantiation: usr_avp.c:trim
Unexecuted instantiation: sl_cb.c:trim
Unexecuted instantiation: sdp_ops.c:trim
Unexecuted instantiation: resolve.c:trim
Unexecuted instantiation: io_wait.c:trim
Unexecuted instantiation: transformations.c:trim
Unexecuted instantiation: pvar.c:trim
Unexecuted instantiation: sr_module_deps.c:trim
Unexecuted instantiation: cfg_reload.c:trim
Unexecuted instantiation: socket_info.c:trim
Unexecuted instantiation: time_rec.c:trim
Unexecuted instantiation: data_lump.c:trim
Unexecuted instantiation: status_report.c:trim
Unexecuted instantiation: pt_scaling.c:trim
Unexecuted instantiation: signals.c:trim
Unexecuted instantiation: flags.c:trim
Unexecuted instantiation: db_id.c:trim
Unexecuted instantiation: trans.c:trim
Unexecuted instantiation: sdp.c:trim
Unexecuted instantiation: sdp_helpr_funcs.c:trim
digest_parser.c:trim
Line
Count
Source
103
283
{
104
283
  trim_leading(_s);
105
283
  trim_trailing(_s);
106
283
}
Unexecuted instantiation: param_parser.c:trim
Unexecuted instantiation: digest.c:trim
Unexecuted instantiation: parse_contact.c:trim
contact.c:trim
Line
Count
Source
103
18.7k
{
104
18.7k
  trim_leading(_s);
105
18.7k
  trim_trailing(_s);
106
18.7k
}
Unexecuted instantiation: parse_body.c:trim
Unexecuted instantiation: parse_security.c:trim
Unexecuted instantiation: parse_call_info.c:trim
Unexecuted instantiation: parse_event.c:trim
Unexecuted instantiation: parse_disposition.c:trim
Unexecuted instantiation: parse_authenticate.c:trim
Unexecuted instantiation: parser_f.c:trim
Unexecuted instantiation: parse_rpid.c:trim
Unexecuted instantiation: parse_ppi.c:trim
Unexecuted instantiation: parse_fcaps.c:trim
Unexecuted instantiation: parse_sst.c:trim
Unexecuted instantiation: parse_rr.c:trim
Unexecuted instantiation: parse_param.c:trim
Unexecuted instantiation: parse_diversion.c:trim
Unexecuted instantiation: parse_nameaddr.c:trim
Unexecuted instantiation: parse_expires.c:trim
Unexecuted instantiation: parse_refer_to.c:trim
Unexecuted instantiation: parse_from.c:trim
Unexecuted instantiation: parse_pai.c:trim
Unexecuted instantiation: evi_transport.c:trim
Unexecuted instantiation: msg_translator.c:trim
Unexecuted instantiation: md5utils.c:trim
Unexecuted instantiation: cfg.tab.c:trim
Unexecuted instantiation: modparam.c:trim
Unexecuted instantiation: crc.c:trim
Unexecuted instantiation: re.c:trim
Unexecuted instantiation: lex.yy.c:trim
Unexecuted instantiation: cfg_pp.c:trim
Unexecuted instantiation: shutdown.c:trim
Unexecuted instantiation: cmds.c:trim
Unexecuted instantiation: core_cmds.c:trim
Unexecuted instantiation: serialize.c:trim
Unexecuted instantiation: cachedb.c:trim
Unexecuted instantiation: cachedb_id.c:trim
Unexecuted instantiation: fuzz_uri_parser.c:trim
Unexecuted instantiation: fuzz_core_funcs.c:trim
Unexecuted instantiation: fuzz_msg_parser.c:trim
107
108
109
#endif /* TRIM_H */