[pacman-dev] [PATCH] Remove redundant _alpm_strtrim() in be_local.c

Pang Yan Han pangyanhan at gmail.com
Fri Feb 4 22:48:54 EST 2011


When reading the "desc" file in _alpm_local_db_read(), some
strings are trimmed and checked for length > 0 before their
use/duplication subsequently. They are then trimmed again
when there is no need to.

The following code snippet should illustrate it clearly:

while(fgets(line, sizeof(line), fp) &&
	strlen(_alpm_strtrim(line))) {

	char *linedup;
	STRDUP(linedup, _alpm_strtrim(line), goto error);
	info->groups = alpm_list_add(info->groups, linedup);
}

This patch removes the redundant _alpm_strtrim() calls in
_alpm_local_db_read() such as the one inside the STRDUP shown
above.

Signed-off-by: Pang Yan Han <pangyanhan at gmail.com>
---
 lib/libalpm/be_local.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index c7110fa..c005532 100644
--- a/lib/libalpm/be_local.c
+++ b/lib/libalpm/be_local.c
@@ -539,7 +539,7 @@ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 			} else if(strcmp(line, "%GROUPS%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->groups = alpm_list_add(info->groups, linedup);
 				}
 			} else if(strcmp(line, "%URL%") == 0) {
@@ -550,7 +550,7 @@ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 			} else if(strcmp(line, "%LICENSE%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->licenses = alpm_list_add(info->licenses, linedup);
 				}
 			} else if(strcmp(line, "%ARCH%") == 0) {
@@ -595,30 +595,30 @@ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 			} else if(strcmp(line, "%REPLACES%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->replaces = alpm_list_add(info->replaces, linedup);
 				}
 			} else if(strcmp(line, "%DEPENDS%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
-					pmdepend_t *dep = _alpm_splitdep(_alpm_strtrim(line));
+					pmdepend_t *dep = _alpm_splitdep(line);
 					info->depends = alpm_list_add(info->depends, dep);
 				}
 			} else if(strcmp(line, "%OPTDEPENDS%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->optdepends = alpm_list_add(info->optdepends, linedup);
 				}
 			} else if(strcmp(line, "%CONFLICTS%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->conflicts = alpm_list_add(info->conflicts, linedup);
 				}
 			} else if(strcmp(line, "%PROVIDES%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->provides = alpm_list_add(info->provides, linedup);
 				}
 			}
@@ -639,13 +639,13 @@ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 			if(strcmp(line, "%FILES%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->files = alpm_list_add(info->files, linedup);
 				}
 			} else if(strcmp(line, "%BACKUP%") == 0) {
 				while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
 					char *linedup;
-					STRDUP(linedup, _alpm_strtrim(line), goto error);
+					STRDUP(linedup, line, goto error);
 					info->backup = alpm_list_add(info->backup, linedup);
 				}
 			}
-- 
1.7.4



More information about the pacman-dev mailing list