A sphere with three ocean waves in differing shades of blue. Next to the sphere, there is the bolded text "Ocean Color". Under that, there are two acronyms, separated by a vertical pipe: OB.DAAC (Ocean Biology Distributed Active Archive Center) and OBPG (Ocean Biology Processing Group).
Lorem
ipsum
dolor
sit
amet
Toggle navigation
Ocean Color Science Software
Jump to content
ocssw
V2022
web
ocssw
ocssw_src
oel_util
libgenutils
trimBlanks.c
Go to the documentation of this file.
1
#include <
genutils.h
>
2
3
#include <ctype.h>
4
#include <string.h>
5
#include <stdlib.h>
6
10
void
trimBlanks
(
char
*
str
) {
11
12
// bail if the string is null
13
if
(
str
==
NULL
)
14
return
;
15
16
// bail if empty string
17
int
i
= strlen(
str
) - 1;
18
if
(
i
< 0)
19
return
;
20
21
// find last non-blank char
22
while
(
i
>= 0) {
23
if
(
isspace
(
str
[
i
]))
24
i
--;
25
else
26
break
;
27
}
28
int
length =
i
+ 1;
29
30
// get rid of beginning spaces
31
i
= 0;
32
while
(
i
< length) {
33
if
(
isspace
(
str
[
i
]))
34
i
++;
35
else
36
break
;
37
}
38
39
if
(
i
> 0) {
40
int
j
= 0;
41
while
(
i
< length) {
42
str
[
j
++] =
str
[
i
++];
43
}
44
// NULL terminate the string
45
str
[
j
] = 0;
46
47
}
else
{
48
// NULL terminate the string
49
str
[length] = 0;
50
}
51
52
}
53
58
char
*
trimBlanksDup
(
const
char
*
str
) {
59
// bail if the string is null
60
if
(
str
==
NULL
)
61
return
strdup
(
""
);
62
63
// bail if empty string
64
int
i
= strlen(
str
) - 1;
65
if
(
i
< 0)
66
return
strdup
(
""
);
67
68
// find last non-blank char
69
while
(
i
>= 0) {
70
if
(
isspace
(
str
[
i
]))
71
i
--;
72
else
73
break
;
74
}
75
int
length =
i
+ 1;
76
77
// get rid of beginning spaces
78
i
= 0;
79
while
(
i
< length) {
80
if
(
isspace
(
str
[
i
]))
81
i
++;
82
else
83
break
;
84
}
85
86
char
* str2 = (
char
*) malloc(length -
i
+ 1);
87
88
int
j
= 0;
89
while
(
i
< length) {
90
str2[
j
++] =
str
[
i
++];
91
}
92
// NULL terminate the string
93
str2[
j
] = 0;
94
95
return
str2;
96
}
97
j
int j
Definition:
decode_rs.h:73
genutils.h
NULL
#define NULL
Definition:
decode_rs.h:63
strdup
char * strdup(const char *)
trimBlanksDup
char * trimBlanksDup(const char *str)
Definition:
trimBlanks.c:58
isspace
#define isspace(c)
Definition:
parse_file_name.c:9
trimBlanks
void trimBlanks(char *str)
Definition:
trimBlanks.c:10
i
int i
Definition:
decode_rs.h:71
str
Definition:
aerosol.c:136