diff options
author | Dan McGee <dan@archlinux.org> | 2011-02-09 04:16:36 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-02-11 17:23:43 +0100 |
commit | 06cbb516c35eb81220064878ff202c3107b12c99 (patch) | |
tree | ea0caedb4afbb01b3ad3ade7f140d55826433247 | |
parent | 56721c12cec02366816130aafaa974667db59a93 (diff) | |
download | pacman-06cbb516c35eb81220064878ff202c3107b12c99.tar.gz pacman-06cbb516c35eb81220064878ff202c3107b12c99.tar.xz |
Avoid a memmove by advancing value pointer
In packages, our description file contains:
key = value is here
type entries, and we passed "key " and " value is here" to our strtrim
function, causing us to always memmove the value portion to remove the
space. Since this is a throwaway buffer, do the advancing on our own before
trimming to save the need to shift memory around; "value is here" will now
be passed and strtrim will be responsible for trailing whitespace.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/be_package.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index 7e46c08e..38448b43 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -175,6 +175,7 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg) newpkg->name ? newpkg->name : "error", linenum); } else { key = _alpm_strtrim(key); + while(*ptr == ' ') ptr++; ptr = _alpm_strtrim(ptr); if(strcmp(key, "pkgname") == 0) { STRDUP(newpkg->name, ptr, RET_ERR(PM_ERR_MEMORY, -1)); |