Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=2d1fbb22b610d352fab118d8121c32b0db108aba
commit 2d1fbb22b610d352fab118d8121c32b0db108aba Author: Michel Hermier <[email protected]> Date: Mon Oct 28 17:42:53 2013 +0100 libpacman: Add use _pacman_strempty/_pacman_strlen (which handle NULL). diff --git a/lib/libpacman/add.c b/lib/libpacman/add.c index 5d4417a..34d6d96 100644 --- a/lib/libpacman/add.c +++ b/lib/libpacman/add.c @@ -127,7 +127,7 @@ int _pacman_add_addtarget(pmtrans_t *trans, const char *name) ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); - ASSERT(name != NULL && strlen(name) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(!_pacman_strempty(name), RET_ERR(PM_ERR_WRONG_ARGS, -1)); /* Check if we need to add a fake target to the transaction. */ if(strchr(name, '|')) { @@ -722,7 +722,7 @@ int _pacman_add_commit(pmtrans_t *trans, pmlist_t **data) if(archive_ret == ARCHIVE_FATAL) { errors++; } - if(strlen(cwd)) { + if(!_pacman_strempty(cwd)) { chdir(cwd); } archive_read_finish (archive); diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c index 9708469..ebc9665 100644 --- a/lib/libpacman/be_files.c +++ b/lib/libpacman/be_files.c @@ -323,7 +323,7 @@ static int _pacman_db_read_desc(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) } _pacman_strtrim(line); if(!strcmp(line, "%DESC%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->desc_localized = _pacman_list_add(info->desc_localized, strdup(line)); } STRNCPY(info->desc, (char*)info->desc_localized->data, sizeof(info->desc)); @@ -335,7 +335,7 @@ static int _pacman_db_read_desc(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) } _pacman_strtrim(info->desc); } else if(!strcmp(line, "%GROUPS%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->groups = _pacman_list_add(info->groups, strdup(line)); } } else if(!strcmp(line, "%URL%")) { @@ -344,7 +344,7 @@ static int _pacman_db_read_desc(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) } _pacman_strtrim(info->url); } else if(!strcmp(line, "%LICENSE%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->license = _pacman_list_add(info->license, strdup(line)); } } else if(!strcmp(line, "%ARCH%")) { @@ -419,7 +419,7 @@ static int _pacman_db_read_desc(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) } else if(!strcmp(line, "%REPLACES%")) { /* the REPLACES tag is special -- it only appears in sync repositories, * not the local one. */ - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->replaces = _pacman_list_add(info->replaces, strdup(line)); } } else if(!strcmp(line, "%FORCE%")) { @@ -468,25 +468,25 @@ static int _pacman_db_read_depends(pmdb_t *db, unsigned int inforeq, pmpkg_t *in } _pacman_strtrim(line); if(!strcmp(line, "%DEPENDS%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->depends = _pacman_list_add(info->depends, strdup(line)); } } else if(!strcmp(line, "%REQUIREDBY%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->requiredby = _pacman_list_add(info->requiredby, strdup(line)); } } else if(!strcmp(line, "%CONFLICTS%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->conflicts = _pacman_list_add(info->conflicts, strdup(line)); } } else if(!strcmp(line, "%PROVIDES%")) { - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->provides = _pacman_list_add(info->provides, strdup(line)); } } else if(!strcmp(line, "%REPLACES%")) { /* the REPLACES tag is special -- it only appears in sync repositories, * not the local one. */ - while(_pacman_db_read_fgets(db, line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(_pacman_db_read_fgets(db, line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->replaces = _pacman_list_add(info->replaces, strdup(line)); } } else if(!strcmp(line, "%FORCE%")) { @@ -583,7 +583,7 @@ int _pacman_db_read(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) while(fgets(line, 256, fp)) { _pacman_strtrim(line); if(!strcmp(line, "%FILES%")) { - while(fgets(line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(fgets(line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { if((ptr = strchr(line, '|'))) { /* just ignore the content after the pipe for now */ *ptr = '\0'; @@ -591,7 +591,7 @@ int _pacman_db_read(pmdb_t *db, unsigned int inforeq, pmpkg_t *info) info->files = _pacman_list_add(info->files, strdup(line)); } } else if(!strcmp(line, "%BACKUP%")) { - while(fgets(line, sline, fp) && strlen(_pacman_strtrim(line))) { + while(fgets(line, sline, fp) && !_pacman_strempty(_pacman_strtrim(line))) { info->backup = _pacman_list_add(info->backup, strdup(line)); } } @@ -881,7 +881,7 @@ int _pacman_db_setlastupdate(pmdb_t *db, char *ts) FILE *fp; char file[PATH_MAX]; - if(db == NULL || ts == NULL || strlen(ts) == 0) { + if(db == NULL || _pacman_strempty(ts)) { return(-1); } diff --git a/lib/libpacman/cache.c b/lib/libpacman/cache.c index 0153e33..62dbea5 100644 --- a/lib/libpacman/cache.c +++ b/lib/libpacman/cache.c @@ -235,7 +235,7 @@ pmgrp_t *_pacman_db_get_grpfromcache(pmdb_t *db, const char *target) { pmlist_t *i; - if(db == NULL || target == NULL || strlen(target) == 0) { + if(db == NULL || _pacman_strempty(target)) { return(NULL); } diff --git a/lib/libpacman/deps.c b/lib/libpacman/deps.c index 1b7582e..e11b611 100644 --- a/lib/libpacman/deps.c +++ b/lib/libpacman/deps.c @@ -710,7 +710,7 @@ int _pacman_depcmp(pmpkg_t *pkg, pmdepend_t *dep) default: break; } - if(strlen(dep->version) > 0) { + if(!_pacman_strempty(dep->version)) { _pacman_log(PM_LOG_DEBUG, _("depcmp: %s-%s %s %s-%s => %s"), _pacman_pkg_getinfo(pkg, PM_PKG_NAME), _pacman_pkg_getinfo(pkg, PM_PKG_NAME), mod, dep->name, dep->version, diff --git a/lib/libpacman/handle.c b/lib/libpacman/handle.c index e0bc391..b75b0e1 100644 --- a/lib/libpacman/handle.c +++ b/lib/libpacman/handle.c @@ -135,21 +135,21 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d if(ph->dbpath) { FREE(ph->dbpath); } - ph->dbpath = strdup((data && strlen((char *)data) != 0) ? (char *)data : PM_DBPATH); + ph->dbpath = strdup(!_pacman_strempty((char *)data) ? (char *)data : PM_DBPATH); _pacman_log(PM_LOG_FLOW2, _("PM_OPT_DBPATH set to '%s'"), ph->dbpath); break; case PM_OPT_CACHEDIR: if(ph->cachedir) { FREE(ph->cachedir); } - ph->cachedir = strdup((data && strlen((char *)data) != 0) ? (char *)data : PM_CACHEDIR); + ph->cachedir = strdup(!_pacman_strempty((char *)data) ? (char *)data : PM_CACHEDIR); _pacman_log(PM_LOG_FLOW2, _("PM_OPT_CACHEDIR set to '%s'"), ph->cachedir); break; case PM_OPT_HOOKSDIR: if(ph->hooksdir) { FREE(ph->hooksdir); } - ph->hooksdir = strdup((data && strlen((char *)data) != 0) ? (char *)data : PM_HOOKSDIR); + ph->hooksdir = strdup(!_pacman_strempty((char *)data) ? (char *)data : PM_HOOKSDIR); _pacman_log(PM_LOG_FLOW2, _("PM_OPT_HOOKSDIR set to '%s'"), ph->hooksdir); break; case PM_OPT_LOGFILE: @@ -184,7 +184,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d _pacman_log(PM_LOG_FLOW2, _("PM_OPT_LOGFILE set to '%s'"), path); break; case PM_OPT_NOUPGRADE: - if((char *)data && strlen((char *)data) != 0) { + if(!_pacman_strempty((char *)data)) { ph->noupgrade = _pacman_list_add(ph->noupgrade, strdup((char *)data)); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NOUPGRADE"), (char *)data); } else { @@ -193,7 +193,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d } break; case PM_OPT_NOEXTRACT: - if((char *)data && strlen((char *)data) != 0) { + if(!_pacman_strempty((char *)data)) { ph->noextract = _pacman_list_add(ph->noextract, strdup((char *)data)); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NOEXTRACT"), (char *)data); } else { @@ -202,7 +202,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d } break; case PM_OPT_IGNOREPKG: - if((char *)data && strlen((char *)data) != 0) { + if(!_pacman_strempty((char *)data)) { ph->ignorepkg = _pacman_list_add(ph->ignorepkg, strdup((char *)data)); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_IGNOREPKG"), (char *)data); } else { @@ -211,7 +211,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d } break; case PM_OPT_HOLDPKG: - if((char *)data && strlen((char *)data) != 0) { + if(!_pacman_strempty((char *)data)) { ph->holdpkg = _pacman_list_add(ph->holdpkg, strdup((char *)data)); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_HOLDPKG"), (char *)data); } else { @@ -220,7 +220,7 @@ int _pacman_handle_set_option(pmhandle_t *ph, unsigned char val, unsigned long d } break; case PM_OPT_NEEDLES: - if((char *)data && strlen((char *)data) != 0) { + if(!_pacman_strempty((char *)data)) { ph->needles = _pacman_list_add(ph->needles, strdup((char *)data)); _pacman_log(PM_LOG_FLOW2, _("'%s' added to PM_OPT_NEEDLES"), (char *)data); } else { diff --git a/lib/libpacman/package.c b/lib/libpacman/package.c index 13d034b..1ad33db 100644 --- a/lib/libpacman/package.c +++ b/lib/libpacman/package.c @@ -194,7 +194,7 @@ static int parse_descfile(char *descfile, pmpkg_t *info, int output) fgets(line, PATH_MAX, fp); linenum++; _pacman_strtrim(line); - if(strlen(line) == 0 || line[0] == '#') { + if(_pacman_strempty(line) || line[0] == '#') { continue; } if(output) { @@ -281,7 +281,7 @@ pmpkg_t *_pacman_pkg_load(const char *pkgfile) struct utsname name; pmpkg_t *info = NULL; - if(pkgfile == NULL || strlen(pkgfile) == 0) { + if(_pacman_strempty(pkgfile)) { RET_ERR(PM_ERR_WRONG_ARGS, NULL); } @@ -322,7 +322,7 @@ pmpkg_t *_pacman_pkg_load(const char *pkgfile) close(fd); goto error; } - if(!strlen(info->name)) { + if(_pacman_strempty(info->name)) { _pacman_log(PM_LOG_ERROR, _("missing package name in %s"), pkgfile); pm_errno = PM_ERR_PKG_INVALID; unlink(descfile); @@ -330,7 +330,7 @@ pmpkg_t *_pacman_pkg_load(const char *pkgfile) close(fd); goto error; } - if(!strlen(info->version)) { + if(_pacman_strempty(info->version)) { _pacman_log(PM_LOG_ERROR, _("missing package version in %s"), pkgfile); pm_errno = PM_ERR_PKG_INVALID; unlink(descfile); @@ -339,7 +339,7 @@ pmpkg_t *_pacman_pkg_load(const char *pkgfile) goto error; } if(handle->trans && !(handle->trans->flags & PM_TRANS_FLAG_NOARCH)) { - if(!strlen(info->arch)) { + if(_pacman_strempty(info->arch)) { _pacman_log(PM_LOG_ERROR, _("missing package architecture in %s"), pkgfile); pm_errno = PM_ERR_PKG_INVALID; unlink(descfile); diff --git a/lib/libpacman/pacman.c b/lib/libpacman/pacman.c index 4ac85d4..c8f6abf 100644 --- a/lib/libpacman/pacman.c +++ b/lib/libpacman/pacman.c @@ -178,7 +178,7 @@ pmdb_t *pacman_db_register(const char *treename) { /* Sanity checks */ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, NULL)); - ASSERT(treename != NULL && strlen(treename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + ASSERT(!_pacman_strempty(treename), RET_ERR(PM_ERR_WRONG_ARGS, NULL)); /* Do not register a database if a transaction is on-going */ ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, NULL)); @@ -291,7 +291,7 @@ int pacman_db_setserver(pmdb_t *db, char *url) RET_ERR(PM_ERR_DB_NOT_FOUND, -1); } - if(url && strlen(url)) { + if(!_pacman_strempty(url)) { pmserver_t *server; if((server = _pacman_server_new(url)) == NULL) { /* pm_errno is set by _pacman_server_new */ @@ -343,7 +343,7 @@ int pacman_db_update(int force, PM_DB *db) if(!force) { /* get the lastupdate time */ _pacman_db_getlastupdate(db, lastupdate); - if(strlen(lastupdate) == 0) { + if(_pacman_strempty(lastupdate)) { _pacman_log(PM_LOG_DEBUG, _("failed to get lastupdate time for %s (no big deal)\n"), db->treename); } } @@ -364,7 +364,7 @@ int pacman_db_update(int force, PM_DB *db) status = 1; goto rmlck; } else { - if(strlen(newmtime)) { + if(!_pacman_strempty(newmtime)) { _pacman_log(PM_LOG_DEBUG, _("sync: new mtime for %s: %s\n"), db->treename, newmtime); updated = 1; } @@ -400,7 +400,7 @@ pmpkg_t *pacman_db_readpkg(pmdb_t *db, const char *name) /* Sanity checks */ ASSERT(handle != NULL, return(NULL)); ASSERT(db != NULL, return(NULL)); - ASSERT(name != NULL && strlen(name) != 0, return(NULL)); + ASSERT(!_pacman_strempty(name), return(NULL)); return(_pacman_db_get_pkgfromcache(db, name)); } @@ -429,7 +429,7 @@ pmlist_t *pacman_db_whatprovides(pmdb_t *db, char *name) /* Sanity checks */ ASSERT(handle != NULL, return(NULL)); ASSERT(db != NULL, return(NULL)); - ASSERT(name != NULL && strlen(name) != 0, return(NULL)); + ASSERT(!_pacman_strempty(name), return(NULL)); return(_pacman_db_whatprovides(db, name)); } @@ -444,7 +444,7 @@ pmgrp_t *pacman_db_readgrp(pmdb_t *db, char *name) /* Sanity checks */ ASSERT(handle != NULL, return(NULL)); ASSERT(db != NULL, return(NULL)); - ASSERT(name != NULL && strlen(name) != 0, return(NULL)); + ASSERT(!_pacman_strempty(name), return(NULL)); return(_pacman_db_get_grpfromcache(db, name)); } @@ -493,7 +493,7 @@ pmlist_t *pacman_pkg_getowners(char *filename) { /* Sanity checks */ ASSERT(handle->db_local != NULL, RET_ERR(PM_ERR_DB_NULL, NULL)); - ASSERT(filename != NULL && strlen(filename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + ASSERT(!_pacman_strempty(filename), RET_ERR(PM_ERR_WRONG_ARGS, NULL)); return(_pacman_pkg_getowners(filename)); } @@ -508,7 +508,7 @@ int pacman_pkg_load(char *filename, pmpkg_t **pkg) _pacman_log(PM_LOG_FUNCTION, "enter pacman_pkg_load"); /* Sanity checks */ - ASSERT(filename != NULL && strlen(filename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(!_pacman_strempty(filename), RET_ERR(PM_ERR_WRONG_ARGS, -1)); ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); *pkg = _pacman_pkg_load(filename); @@ -753,7 +753,7 @@ int pacman_trans_addtarget(const char *target) /* Sanity checks */ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); - ASSERT(target != NULL && strlen(target) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(!_pacman_strempty(target), RET_ERR(PM_ERR_WRONG_ARGS, -1)); trans = handle->trans; ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); @@ -1084,7 +1084,7 @@ int pacman_parse_config(char *file, pacman_cb_db_register callback, const char * return(0); } - if(this_section != NULL && strlen(this_section) > 0) { + if(!_pacman_strempty(this_section)) { strncpy(section, this_section, min(255, strlen(this_section))); if(!strcmp(section, "local")) { RET_ERR(PM_ERR_CONF_LOCAL, -1); diff --git a/lib/libpacman/provide.c b/lib/libpacman/provide.c index 3d40080..2f5e478 100644 --- a/lib/libpacman/provide.c +++ b/lib/libpacman/provide.c @@ -23,11 +23,14 @@ #include "config.h" #include <stdlib.h> #include <string.h> + /* pacman-g2 */ +#include "provide.h" + #include "cache.h" #include "list.h" #include "db.h" -#include "provide.h" +#include "util.h" /* return a pmlist_t of packages in "db" that provide "package" */ @@ -36,7 +39,7 @@ pmlist_t *_pacman_db_whatprovides(pmdb_t *db, char *package) pmlist_t *pkgs = NULL; pmlist_t *lp; - if(db == NULL || package == NULL || strlen(package) == 0) { + if(db == NULL || _pacman_strempty(package)) { return(NULL); } diff --git a/lib/libpacman/trans.c b/lib/libpacman/trans.c index 0b58f02..de622a5 100644 --- a/lib/libpacman/trans.c +++ b/lib/libpacman/trans.c @@ -50,7 +50,7 @@ static int check_oldcache(void) if(_pacman_db_getlastupdate(db, lastupdate) == -1) { return(-1); } - if(strlen(db->lastupdate) && strcmp(lastupdate, db->lastupdate) != 0) { + if(!_pacman_strempty(db->lastupdate) && strcmp(lastupdate, db->lastupdate) != 0) { _pacman_log(PM_LOG_DEBUG, _("cache for '%s' repo is too old"), db->treename); _pacman_db_free_pkgcache(db); } else { diff --git a/lib/libpacman/util.c b/lib/libpacman/util.c index 51ee6be..c434376 100644 --- a/lib/libpacman/util.c +++ b/lib/libpacman/util.c @@ -131,7 +131,7 @@ int _pacman_makepath(char *path) orig = strdup(path); str = orig; while((ptr = strsep(&str, "/"))) { - if(strlen(ptr)) { + if(!_pacman_strempty(ptr)) { struct stat buf; strcat(full, "/"); @@ -600,10 +600,10 @@ int _pacman_runscriptlet(char *root, char *installfn, const char *script, char * } cleanup: - if(strlen(tmpdir) && _pacman_rmrf(tmpdir)) { + if(!_pacman_strempty(tmpdir) && _pacman_rmrf(tmpdir)) { _pacman_log(PM_LOG_WARNING, _("could not remove tmpdir %s"), tmpdir); } - if(strlen(cwd)) { + if(!_pacman_strempty(cwd)) { chdir(cwd); } @@ -717,7 +717,7 @@ cleanup: closedir(dir); } - if(strlen(cwd)) { + if(!_pacman_strempty(cwd)) { chdir(cwd); } diff --git a/lib/libpacman/util.h b/lib/libpacman/util.h index 58c0501..aac1f78 100644 --- a/lib/libpacman/util.h +++ b/lib/libpacman/util.h @@ -83,6 +83,16 @@ char* mkdtemp(char *template); #endif char *_pacman_archive_fgets(char *line, size_t size, struct archive *a); +static inline int _pacman_strempty(const char *s) +{ + return s != NULL ? s[0] == '\0' : !0; +} + +static inline size_t _pacman_strlen(const char *s) +{ + return s != NULL ? strlen(s) : 0; +} + static inline void *_pacman_malloc(size_t size) { void *ptr = malloc(size); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
