Greenbone Vulnerability Management Libraries
11.0.0
strings.c
Go to the documentation of this file.
1
/* Copyright (C) 2009-2019 Greenbone Networks GmbH
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later
4
*
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
25
#include "
strings.h
"
26
27
#include <assert.h>
/* for assert */
28
#include <glib.h>
/* for g_free, g_strconcat, gchar, g_strdup, g_strndup */
29
43
void
44
gvm_append_string
(gchar **var,
const
gchar *
string
)
45
{
46
if
(*var)
47
{
48
char
*old = *var;
49
*var = g_strconcat (old,
string
, NULL);
50
g_free (old);
51
}
52
else
53
*var = g_strdup (
string
);
54
}
55
73
void
74
gvm_append_text
(gchar **var,
const
gchar *
string
, gsize length)
75
{
76
if
(*var)
77
{
78
char
*old = *var;
79
*var = g_strconcat (old,
string
, NULL);
80
g_free (old);
81
}
82
else
83
*var = g_strndup (
string
, length);
84
}
85
94
void
95
gvm_free_string_var
(gchar **var)
96
{
97
g_free (*var);
98
*var = NULL;
99
}
100
115
char
*
116
gvm_strip_space
(
char
*
string
,
char
*end)
117
{
118
assert (
string
<= end);
119
if
(
string
>= end)
120
return
string;
121
end--;
122
while
(
string
[0] ==
' '
||
string
[0] ==
'\n'
)
123
{
124
string
++;
125
if
(
string
>= end)
126
{
127
end[0] =
'\0'
;
128
return
end;
129
}
130
}
131
132
/* Here string is < end. */
133
if
(end[0] ==
' '
|| end[0] ==
'\n'
)
134
{
135
end--;
136
while
(end >=
string
&& (end[0] ==
' '
|| end[0] ==
'\n'
))
137
{
138
end--;
139
}
140
end[1] =
'\0'
;
141
}
142
return
string;
143
}
gvm_append_string
void gvm_append_string(gchar **var, const gchar *string)
Append a string to a string variable.
Definition:
strings.c:44
gvm_free_string_var
void gvm_free_string_var(gchar **var)
Free a string variable.
Definition:
strings.c:95
gvm_append_text
void gvm_append_text(gchar **var, const gchar *string, gsize length)
Append a string of a known length to a string variable.
Definition:
strings.c:74
strings.h
String utilities.
gvm_strip_space
char * gvm_strip_space(char *string, char *end)
"Strip" space and newline characters from either end of some memory.
Definition:
strings.c:116
base
strings.c
Generated on Wed Jan 29 2020 00:00:00 for Greenbone Vulnerability Management Libraries by
1.8.17