Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=577460ee486607d854210e6ef2fa713499fcd1e8
commit 577460ee486607d854210e6ef2fa713499fcd1e8 Author: Michel Hermier <[email protected]> Date: Fri Nov 1 08:50:08 2013 +0100 libpacman: Add _pacman_db_write_string to reduce code duplication in _pacman_db_write. diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c index 535ac2a..87aa4e8 100644 --- a/lib/libpacman/be_files.c +++ b/lib/libpacman/be_files.c @@ -671,6 +671,14 @@ error: } static +void _pacman_db_write_string(const char *entry, const char *value, FILE *stream) +{ + if(!_pacman_strempty(value)) { + fprintf(stream, "%%%s%%\n%s\n\n", entry, value); + } +} + +static void _pacman_db_write_stringlist(const char *entry, const pmlist_t *values, FILE *stream) { const pmlist_t *lp; @@ -714,38 +722,20 @@ int _pacman_db_write(pmdb_t *db, pmpkg_t *info, unsigned int inforeq) retval = 1; goto cleanup; } - fprintf(fp, "%%NAME%%\n%s\n\n" - "%%VERSION%%\n%s\n\n", info->name, info->version); + _pacman_db_write_string("NAME", info->name, fp); + _pacman_db_write_string("VERSION", info->version, fp); if(info->desc[0]) { _pacman_db_write_stringlist("DESC", info->desc_localized, fp); } _pacman_db_write_stringlist("GROUPS", info->groups, fp); if(local) { - if(info->url[0]) { - fprintf(fp, "%%URL%%\n" - "%s\n\n", info->url); - } + _pacman_db_write_string("URL", info->url, fp); _pacman_db_write_stringlist("LICENSE", info->license, fp); - if(info->arch[0]) { - fprintf(fp, "%%ARCH%%\n" - "%s\n\n", info->arch); - } - if(info->builddate[0]) { - fprintf(fp, "%%BUILDDATE%%\n" - "%s\n\n", info->builddate); - } - if(info->buildtype[0]) { - fprintf(fp, "%%BUILDTYPE%%\n" - "%s\n\n", info->buildtype); - } - if(info->installdate[0]) { - fprintf(fp, "%%INSTALLDATE%%\n" - "%s\n\n", info->installdate); - } - if(info->packager[0]) { - fprintf(fp, "%%PACKAGER%%\n" - "%s\n\n", info->packager); - } + _pacman_db_write_string("ARCH", info->arch, fp); + _pacman_db_write_string("BUILDDATE", info->builddate, fp); + _pacman_db_write_string("BUILDTYPE", info->buildtype, fp); + _pacman_db_write_string("INSTALLDATE", info->installdate, fp); + _pacman_db_write_string("PACKAGER", info->packager, fp); if(info->size) { fprintf(fp, "%%SIZE%%\n" "%ld\n\n", info->size); @@ -763,13 +753,8 @@ int _pacman_db_write(pmdb_t *db, pmpkg_t *info, unsigned int inforeq) fprintf(fp, "%%USIZE%%\n" "%ld\n\n", info->usize); } - if(info->sha1sum) { - fprintf(fp, "%%SHA1SUM%%\n" - "%s\n\n", info->sha1sum); - } else if(info->md5sum) { - fprintf(fp, "%%MD5SUM%%\n" - "%s\n\n", info->md5sum); - } + _pacman_db_write_string("SHA1SUM", info->sha1sum, fp); + _pacman_db_write_string("MD5SUM", info->md5sum, fp); } fclose(fp); fp = NULL; _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
