Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=ead39938c9835101fecd793576eecb7761f10911
commit ead39938c9835101fecd793576eecb7761f10911 Author: Michel Hermier <[email protected]> Date: Thu Oct 31 19:24:30 2013 +0100 libpacman: Add _pacman_stringlist_append to replace _pacman_list_add(foo, strdup(bar)) idiom. diff --git a/lib/libpacman/add.c b/lib/libpacman/add.c index 9d4f2eb..53e94da 100644 --- a/lib/libpacman/add.c +++ b/lib/libpacman/add.c @@ -91,7 +91,7 @@ static pmpkg_t *fakedb_pkg_new(pmdb_t *fakedb, const char *name) } else if(strncmp("version", p, q-p) == 0) { STRNCPY(dummy->version, q+1, PKG_VERSION_LEN); } else if(strncmp("depend", p, q-p) == 0) { - dummy->depends = _pacman_list_add(dummy->depends, strdup(q+1)); + dummy->depends = _pacman_stringlist_append(dummy->depends, q+1); } else { _pacman_log(PM_LOG_ERROR, _("could not parse token %s"), p); } @@ -756,7 +756,7 @@ int _pacman_add_commit(pmtrans_t *trans, pmlist_t **data) } if(tmppm->data && (!strcmp(depend.name, info->name) || _pacman_list_is_strin(depend.name, info->provides))) { _pacman_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"), tmpp->name, info->name); - info->requiredby = _pacman_list_add(info->requiredby, strdup(tmpp->name)); + info->requiredby = _pacman_stringlist_append(info->requiredby, tmpp->name); } } } @@ -807,7 +807,7 @@ int _pacman_add_commit(pmtrans_t *trans, pmlist_t **data) } } _pacman_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"), info->name, depinfo->name); - depinfo->requiredby = _pacman_list_add(_pacman_pkg_getinfo(depinfo, PM_PKG_REQUIREDBY), strdup(info->name)); + depinfo->requiredby = _pacman_stringlist_append(_pacman_pkg_getinfo(depinfo, PM_PKG_REQUIREDBY), info->name); if(_pacman_db_write(db_local, depinfo, INFRQ_DEPENDS)) { _pacman_log(PM_LOG_ERROR, _("could not update 'requiredby' database entry %s-%s"), depinfo->name, depinfo->version); diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c index 73f29a4..2044f5c 100644 --- a/lib/libpacman/be_files.c +++ b/lib/libpacman/be_files.c @@ -39,8 +39,8 @@ /* pacman-g2 */ -#include "util/list.h" #include "util/log.h" +#include "util/stringlist.h" #include "util.h" #include "db.h" #include "package.h" @@ -74,19 +74,19 @@ pmlist_t *_pacman_localdb_test(pmdb_t *db) if(stat(path, &buf)) { snprintf(path, LOG_STR_LEN, _("%s: description file is missing"), ent->d_name); - ret = _pacman_list_add(ret, strdup(path)); + ret = _pacman_stringlist_append(ret, path); } snprintf(path, PATH_MAX, "%s/%s/depends", db->path, ent->d_name); if(stat(path, &buf)) { snprintf(path, LOG_STR_LEN, _("%s: dependency information is missing"), ent->d_name); - ret = _pacman_list_add(ret, strdup(path)); + ret = _pacman_stringlist_append(ret, path); } snprintf(path, PATH_MAX, "%s/%s/files", db->path, ent->d_name); if(stat(path, &buf)) { snprintf(path, LOG_STR_LEN, _("%s: file list is missing"), ent->d_name); - ret = _pacman_list_add(ret, strdup(path)); + ret = _pacman_stringlist_append(ret, path); } } @@ -362,7 +362,7 @@ static int _pacman_db_read_lines(pmdb_t *db, pmlist_t **list, char *s, size_t si int lines = 0; while(_pacman_db_read_fgets(db, s, size, fp) && !_pacman_strempty(_pacman_strtrim(s))) { - *list = _pacman_list_add(*list, strdup(s)); + *list = _pacman_stringlist_append(*list, s); lines++; } return lines; @@ -638,11 +638,11 @@ int _pacman_db_read(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) /* just ignore the content after the pipe for now */ *ptr = '\0'; } - info->files = _pacman_list_add(info->files, strdup(line)); + info->files = _pacman_stringlist_append(info->files, line); } } else if(!strcmp(line, "%BACKUP%")) { while(fgets(line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { - info->backup = _pacman_list_add(info->backup, strdup(line)); + info->backup = _pacman_stringlist_append(info->backup, line); } } } diff --git a/lib/libpacman/cache.c b/lib/libpacman/cache.c index e27d2c3..a9660ff 100644 --- a/lib/libpacman/cache.c +++ b/lib/libpacman/cache.c @@ -298,7 +298,7 @@ int _pacman_sync_cleancache(int level) if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { continue; } - cache = _pacman_list_add(cache, strdup(ent->d_name)); + cache = _pacman_stringlist_append(cache, ent->d_name); } closedir(dir); @@ -307,7 +307,7 @@ int _pacman_sync_cleancache(int level) char name[256], version[64]; if(strstr(str, PM_EXT_PKG) == NULL) { - clean = _pacman_list_add(clean, strdup(str)); + clean = _pacman_stringlist_append(clean, str); continue; } /* we keep partially downloaded files */ @@ -315,7 +315,7 @@ int _pacman_sync_cleancache(int level) continue; } if(_pacman_pkg_splitname(str, name, version, 1) != 0) { - clean = _pacman_list_add(clean, strdup(str)); + clean = _pacman_stringlist_append(clean, str); continue; } for(j = i->next; j; j = j->next) { @@ -334,7 +334,7 @@ int _pacman_sync_cleancache(int level) if(!strcmp(name, n)) { char *ptr = (pacman_pkg_vercmp(version, v) < 0) ? str : s; if(!_pacman_list_is_strin(ptr, clean)) { - clean = _pacman_list_add(clean, strdup(ptr)); + clean = _pacman_stringlist_append(clean, ptr); } } } diff --git a/lib/libpacman/conflict.c b/lib/libpacman/conflict.c index c376274..8a82035 100644 --- a/lib/libpacman/conflict.c +++ b/lib/libpacman/conflict.c @@ -245,7 +245,7 @@ static pmlist_t *chk_fileconflicts(pmlist_t *filesA, pmlist_t *filesB) pB = pB->next; } else { /* item in both, record it */ - ret = _pacman_list_add(ret, strdup(strA)); + ret = _pacman_stringlist_append(ret, strA); pA = pA->next; pB = pB->next; } @@ -357,7 +357,7 @@ pmlist_t *_pacman_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, pm * Our workaround is to scan through all "old" packages and all "new" * ones, looking for files that jump to different packages. */ - *skip_list = _pacman_list_add(*skip_list, strdup(filestr)); + *skip_list = _pacman_stringlist_append(*skip_list, filestr); } } } diff --git a/lib/libpacman/handle.c b/lib/libpacman/handle.c index b4b0161..63b2571 100644 --- a/lib/libpacman/handle.c +++ b/lib/libpacman/handle.c @@ -39,6 +39,7 @@ #include "util/list.h" #include "util/log.h" +#include "util/stringlist.h" #include "error.h" #include "trans.h" #include "pacman.h" @@ -187,7 +188,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d break; case PM_OPT_NOUPGRADE: if(!_pacman_strempty((char *)data)) { - ph->noupgrade = _pacman_list_add(ph->noupgrade, strdup((char *)data)); + ph->noupgrade = _pacman_stringlist_append(ph->noupgrade, (char *)data); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NOUPGRADE"), (char *)data); } else { FREELIST(ph->noupgrade); @@ -196,7 +197,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d break; case PM_OPT_NOEXTRACT: if(!_pacman_strempty((char *)data)) { - ph->noextract = _pacman_list_add(ph->noextract, strdup((char *)data)); + ph->noextract = _pacman_stringlist_append(ph->noextract, (char *)data); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NOEXTRACT"), (char *)data); } else { FREELIST(ph->noextract); @@ -205,7 +206,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d break; case PM_OPT_IGNOREPKG: if(!_pacman_strempty((char *)data)) { - ph->ignorepkg = _pacman_list_add(ph->ignorepkg, strdup((char *)data)); + ph->ignorepkg = _pacman_stringlist_append(ph->ignorepkg, (char *)data); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_IGNOREPKG"), (char *)data); } else { FREELIST(ph->ignorepkg); @@ -214,7 +215,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d break; case PM_OPT_HOLDPKG: if(!_pacman_strempty((char *)data)) { - ph->holdpkg = _pacman_list_add(ph->holdpkg, strdup((char *)data)); + ph->holdpkg = _pacman_stringlist_append(ph->holdpkg, (char *)data); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_HOLDPKG"), (char *)data); } else { FREELIST(ph->holdpkg); @@ -223,7 +224,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d break; case PM_OPT_NEEDLES: if(!_pacman_strempty((char *)data)) { - ph->needles = _pacman_list_add(ph->needles, strdup((char *)data)); + ph->needles = _pacman_stringlist_append(ph->needles, (char *)data); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NEEDLES"), (char *)data); } else { FREELIST(ph->needles); diff --git a/lib/libpacman/package.c b/lib/libpacman/package.c index 40dbc30..328825b 100644 --- a/lib/libpacman/package.c +++ b/lib/libpacman/package.c @@ -184,18 +184,18 @@ static int parse_descfile(char *descfile, pmpkg_t *info, int output) } else if(!strcmp(key, "PKGVER")) { STRNCPY(info->version, ptr, sizeof(info->version)); } else if(!strcmp(key, "PKGDESC")) { - info->desc_localized = _pacman_list_add(info->desc_localized, strdup(ptr)); + info->desc_localized = _pacman_stringlist_append(info->desc_localized, ptr); if(_pacman_list_count(info->desc_localized) == 1) { STRNCPY(info->desc, ptr, sizeof(info->desc)); } else if (!strncmp(ptr, handle->language, strlen(handle->language))) { STRNCPY(info->desc, ptr+strlen(handle->language)+1, sizeof(info->desc)); } } else if(!strcmp(key, "GROUP")) { - info->groups = _pacman_list_add(info->groups, strdup(ptr)); + info->groups = _pacman_stringlist_append(info->groups, ptr); } else if(!strcmp(key, "URL")) { STRNCPY(info->url, ptr, sizeof(info->url)); } else if(!strcmp(key, "LICENSE")) { - info->license = _pacman_list_add(info->license, strdup(ptr)); + info->license = _pacman_stringlist_append(info->license, ptr); } else if(!strcmp(key, "BUILDDATE")) { STRNCPY(info->builddate, ptr, sizeof(info->builddate)); } else if(!strcmp(key, "BUILDTYPE")) { @@ -215,17 +215,17 @@ static int parse_descfile(char *descfile, pmpkg_t *info, int output) STRNCPY(tmp, ptr, sizeof(tmp)); info->usize = atol(tmp); } else if(!strcmp(key, "DEPEND")) { - info->depends = _pacman_list_add(info->depends, strdup(ptr)); + info->depends = _pacman_stringlist_append(info->depends, ptr); } else if(!strcmp(key, "REMOVE")) { - info->removes = _pacman_list_add(info->removes, strdup(ptr)); + info->removes = _pacman_stringlist_append(info->removes, ptr); } else if(!strcmp(key, "CONFLICT")) { - info->conflicts = _pacman_list_add(info->conflicts, strdup(ptr)); + info->conflicts = _pacman_stringlist_append(info->conflicts, ptr); } else if(!strcmp(key, "REPLACES")) { - info->replaces = _pacman_list_add(info->replaces, strdup(ptr)); + info->replaces = _pacman_stringlist_append(info->replaces, ptr); } else if(!strcmp(key, "PROVIDES")) { - info->provides = _pacman_list_add(info->provides, strdup(ptr)); + info->provides = _pacman_stringlist_append(info->provides, ptr); } else if(!strcmp(key, "BACKUP")) { - info->backup = _pacman_list_add(info->backup, strdup(ptr)); + info->backup = _pacman_stringlist_append(info->backup, ptr); } else { _pacman_log(PM_LOG_DEBUG, _("%s: syntax error in description file line %d"), info->name[0] != '\0' ? info->name : "error", linenum); @@ -360,7 +360,7 @@ pmpkg_t *_pacman_pkg_load(const char *pkgfile) continue; } _pacman_strtrim(str); - info->files = _pacman_list_add(info->files, strdup(str)); + info->files = _pacman_stringlist_append(info->files, str); } FREE(str); fclose(fp); diff --git a/lib/libpacman/pacman.c b/lib/libpacman/pacman.c index 07302df..6bee40c 100644 --- a/lib/libpacman/pacman.c +++ b/lib/libpacman/pacman.c @@ -350,7 +350,7 @@ int pacman_db_update(int force, pmdb_t *db) /* build a one-element list */ snprintf(path, PATH_MAX, "%s" PM_EXT_DB, db->treename); - files = _pacman_list_add(files, strdup(path)); + files = _pacman_stringlist_append(files, path); snprintf(path, PATH_MAX, "%s%s", handle->root, handle->dbpath); diff --git a/lib/libpacman/sync.c b/lib/libpacman/sync.c index 63374e5..6a6abca 100644 --- a/lib/libpacman/sync.c +++ b/lib/libpacman/sync.c @@ -451,7 +451,7 @@ int _pacman_sync_prepare(pmtrans_t *trans, pmlist_t **data) int doremove = 0; if(!_pacman_list_is_strin(miss->depend.name, asked)) { QUESTION(trans, PM_TRANS_CONV_CONFLICT_PKG, miss->target, miss->depend.name, NULL, &doremove); - asked = _pacman_list_add(asked, strdup(miss->depend.name)); + asked = _pacman_stringlist_append(asked, miss->depend.name); if(doremove) { pmsyncpkg_t *rsync = find_pkginsync(miss->depend.name, trans->packages); pmpkg_t *q = _pacman_pkg_new(miss->depend.name, NULL); @@ -763,7 +763,7 @@ int _pacman_sync_commit(pmtrans_t *trans, pmlist_t **data) new->name, new->version); } /* add the new requiredby */ - new->requiredby = _pacman_list_add(new->requiredby, strdup(k->data)); + new->requiredby = _pacman_stringlist_append(new->requiredby, k->data); } } } @@ -830,7 +830,7 @@ int _pacman_trans_download_commit(pmtrans_t *trans, pmlist_t **data) } else { if(stat(lcpath, &buf)) { /* file is not in the cache dir, so add it to the list */ - files = _pacman_list_add(files, strdup(filename)); + files = _pacman_stringlist_append(files, filename); } else { _pacman_log(PM_LOG_DEBUG, _("%s is already in the cache\n"), filename); } diff --git a/lib/libpacman/trans.c b/lib/libpacman/trans.c index 8b3023a..6b87a60 100644 --- a/lib/libpacman/trans.c +++ b/lib/libpacman/trans.c @@ -164,7 +164,7 @@ int _pacman_trans_addtarget(pmtrans_t *trans, const char *target) return(-1); } - trans->targets = _pacman_list_add(trans->targets, strdup(target)); + trans->targets = _pacman_stringlist_append(trans->targets, target); return(0); } diff --git a/lib/libpacman/util/stringlist.c b/lib/libpacman/util/stringlist.c index ca158b2..330b4e6 100644 --- a/lib/libpacman/util/stringlist.c +++ b/lib/libpacman/util/stringlist.c @@ -56,7 +56,7 @@ pmlist_t *_pacman_list_remove_dupes(pmlist_t *list) for(i = list; i; i = i->next) { if(!_pacman_list_is_strin(i->data, newlist)) { - newlist = _pacman_list_add(newlist, strdup(i->data)); + newlist = _pacman_stringlist_append(newlist, i->data); } } return newlist; @@ -68,10 +68,15 @@ pmlist_t *_pacman_list_strdup(pmlist_t *list) pmlist_t *lp; for(lp = list; lp; lp = lp->next) { - newlist = _pacman_list_add(newlist, strdup(lp->data)); + newlist = _pacman_stringlist_append(newlist, lp->data); } return(newlist); } +pmlist_t *_pacman_stringlist_append(pmlist_t *list, const char *s) +{ + return _pacman_list_add(list, strdup(s)); +} + /* vim: set ts=2 sw=2 noet: */ diff --git a/lib/libpacman/util/stringlist.h b/lib/libpacman/util/stringlist.h index f95b5b7..b8ee255 100644 --- a/lib/libpacman/util/stringlist.h +++ b/lib/libpacman/util/stringlist.h @@ -27,6 +27,8 @@ int _pacman_list_is_strin(const char *needle, pmlist_t *haystack); pmlist_t *_pacman_list_remove_dupes(pmlist_t *list); pmlist_t *_pacman_list_strdup(pmlist_t *list); +pmlist_t *_pacman_stringlist_append(pmlist_t *list, const char *s); + #endif /* _PACMAN_STRINGLIST_H */ /* vim: set ts=2 sw=2 noet: */ _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
