Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=212fb07618880ff7ee614a3235ec4b5d373aed22

commit 212fb07618880ff7ee614a3235ec4b5d373aed22
Author: Michel Hermier <[email protected]>
Date:   Tue Oct 29 09:29:13 2013 +0100

libpacman: Use _pacman_zalloc instead of manually zeroing pmpkg_t data, fix 
returning error value as callers expect NULL on error and not (void *)-1.

diff --git a/lib/libpacman/package.c b/lib/libpacman/package.c
index 1ad33db..65cb70d 100644
--- a/lib/libpacman/package.c
+++ b/lib/libpacman/package.c
@@ -31,7 +31,10 @@
#include <libintl.h>
#include <locale.h>
#include <sys/utsname.h>
+
/* pacman-g2 */
+#include "package.h"
+
#include "log.h"
#include "util.h"
#include "error.h"
@@ -39,57 +42,23 @@
#include "db.h"
#include "handle.h"
#include "cache.h"
-#include "package.h"
#include "pacman.h"

pmpkg_t *_pacman_pkg_new(const char *name, const char *version)
{
pmpkg_t* pkg = NULL;

-       if((pkg = (pmpkg_t *)malloc(sizeof(pmpkg_t))) == NULL) {
-               RET_ERR(PM_ERR_MEMORY, (pmpkg_t *)-1);
+       if((pkg = (pmpkg_t *)_pacman_zalloc(sizeof(pmpkg_t))) == NULL) {
+               return NULL;
}

-       if(name && name[0] != 0) {
+       if(!_pacman_strempty(name)) {
STRNCPY(pkg->name, name, PKG_NAME_LEN);
-       } else {
-               pkg->name[0]        = '\0';
}
-       if(version && version[0] != 0) {
+       if(!_pacman_strempty(version)) {
STRNCPY(pkg->version, version, PKG_VERSION_LEN);
-       } else {
-               pkg->version[0]     = '\0';
}
-       pkg->desc[0]        = '\0';
-       pkg->url[0]         = '\0';
-       pkg->license        = NULL;
-       pkg->desc_localized = NULL;
-       pkg->builddate[0]   = '\0';
-       pkg->buildtype[0]   = '\0';
-       pkg->installdate[0] = '\0';
-       pkg->packager[0]    = '\0';
-       pkg->md5sum[0]      = '\0';
-       pkg->sha1sum[0]     = '\0';
-       pkg->arch[0]        = '\0';
-       pkg->size           = 0;
-       pkg->usize          = 0;
-       pkg->scriptlet      = 0;
-       pkg->force          = 0;
-       pkg->stick          = 0;
pkg->reason         = PM_PKG_REASON_EXPLICIT;
-       pkg->requiredby     = NULL;
-       pkg->conflicts      = NULL;
-       pkg->files          = NULL;
-       pkg->backup         = NULL;
-       pkg->depends        = NULL;
-       pkg->removes        = NULL;
-       pkg->groups         = NULL;
-       pkg->provides       = NULL;
-       pkg->replaces       = NULL;
-       /* internal */
-       pkg->origin         = 0;
-       pkg->data           = NULL;
-       pkg->infolevel      = 0;

return(pkg);
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to