contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()

Rather than carefully allocating memory for sprintf() to write into,
let's make use of the glib helper function g_strdup_printf(), which
makes things a lot easier and less error-prone.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Brandon Casey 2013-09-23 11:49:10 -07:00 committed by Junio C Hamano
parent ff55c47d0f
commit 8bb7a54c57

View File

@ -112,21 +112,13 @@ static inline char *xstrdup(const char *str)
/* create a special keyring option string, if path is given */
static char* keyring_object(struct credential *c)
{
char* object = NULL;
if (!c->path)
return object;
object = (char*) malloc(strlen(c->host)+strlen(c->path)+8);
if (!object)
die_errno(errno);
return NULL;
if (c->port)
sprintf(object,"%s:%hd/%s",c->host,c->port,c->path);
else
sprintf(object,"%s/%s",c->host,c->path);
return g_strdup_printf("%s:%hd/%s", c->host, c->port, c->path);
return object;
return g_strdup_printf("%s/%s", c->host, c->path);
}
static int keyring_get(struct credential *c)