From 6e63ccfd0fdd19b6d710eb8dc84c85aaf25c3006 Mon Sep 17 00:00:00 2001
From: Aurelien Foret <aurelien@archlinux.org>
Date: Fri, 25 Mar 2005 21:13:23 +0000
Subject: backported fixes for trim() from pacman 2.9.5

---
 lib/libalpm/util.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'lib/libalpm')

diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 053d7b98..bebc996a 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -145,6 +145,11 @@ char *_alpm_strtrim(char *str)
 {
 	char *pch = str;
 
+	if(*str == '\0') {
+		/* string is empty, so we're done. */
+		return(str);
+	}
+
 	while(isspace(*pch)) {
 		pch++;
 	}
@@ -152,13 +157,18 @@ char *_alpm_strtrim(char *str)
 		memmove(str, pch, (strlen(pch) + 1));
 	}
 
+	/* check if there wasn't anything but whitespace in the string. */
+	if(*str == '\0') {
+		return(str);
+	}
+
 	pch = (char*)(str + (strlen(str) - 1));
 	while(isspace(*pch)) {
 		pch--;
 	}
 	*++pch = '\0';
 
-	return str;
+	return(str);
 }
 
 /* A cheap grep for text files, returns 1 if a substring
-- 
cgit v1.2.3-70-g09d2