[pacman-dev] [PATCH 1/3] pacman/util: return size_t from strtrim
Dave Reisner
d at falconindy.com
Fri Dec 23 17:43:19 EST 2011
Instead of returning the same value as the parameter to this function,
return the length of the string, which can be useful to the caller when
its non-zero (e.g. to find the end of the string).
Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
This should make an earlier email from dan make a bit more sense
when he referred to "the new return value"
src/pacman/util.c | 18 +++++++++---------
src/pacman/util.h | 2 +-
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/pacman/util.c b/src/pacman/util.c
index 7846291..4160c44 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -325,13 +325,13 @@ char *strtoupper(char *str)
/* Trim whitespace and newlines from a string
*/
-char *strtrim(char *str)
+size_t strtrim(char *str)
{
- char *pch = str;
+ char *end, *pch = str;
if(str == NULL || *str == '\0') {
/* string is empty, so we're done. */
- return str;
+ return 0;
}
while(isspace((unsigned char)*pch)) {
@@ -348,16 +348,16 @@ char *strtrim(char *str)
/* check if there wasn't anything but whitespace in the string. */
if(*str == '\0') {
- return str;
+ return 0;
}
- pch = (str + (strlen(str) - 1));
- while(isspace((unsigned char)*pch)) {
- pch--;
+ end = (str + strlen(str) - 1);
+ while(isspace((unsigned char)*end)) {
+ end--;
}
- *++pch = '\0';
+ *++end = '\0';
- return str;
+ return end - pch;
}
/* Replace all occurances of 'needle' with 'replace' in 'str', returning
diff --git a/src/pacman/util.h b/src/pacman/util.h
index 6ec962f..6291939 100644
--- a/src/pacman/util.h
+++ b/src/pacman/util.h
@@ -56,7 +56,7 @@ const char *mbasename(const char *path);
char *mdirname(const char *path);
void indentprint(const char *str, size_t indent);
char *strtoupper(char *str);
-char *strtrim(char *str);
+size_t strtrim(char *str);
char *strreplace(const char *str, const char *needle, const char *replace);
alpm_list_t *strsplit(const char *str, const char splitchar);
void string_display(const char *title, const char *string);
--
1.7.8.1
More information about the pacman-dev
mailing list