[PATCH] builtin-remote: (get_one_entry): use strbuf
- From
Bert Wesarg <bert.wesarg@googlemail.com>
- Date
- Jun 15, 2009, 20:45 UTC
- Message-ID
- <1245098728-7502-1-git-send-email-bert.wesarg@googlemail.com>
- In-Reply-To
- <4A35FCFB.1080000@drmicha.warpmail.net>
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
On Mon, Jun 15, 2009 at 09:49, Michael J Gruber<git@drmicha.warpmail.net> wrote:
Show 6 quoted lines
> Jim Meyering venit, vidit, dixit 14.06.2009 21:46: >> >> * builtin-remote.c (get_one_entry): Use xmalloc, not malloc. > > Learning something new with every patch... Sorry, Junio; thanks, Jim! >
One more reason to re-use existing string handling functions.
Regards, Bert
builtin-remote.c | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/builtin-remote.c b/builtin-remote.c index 709f8a6..31adeaa 100644 --- a/builtin-remote.c +++ b/builtin-remote.c @@ -1276,17 +1276,17 @@ static int update(int argc, const char **argv) static int get_one_entry(struct remote *remote, void *priv) { struct string_list *list = priv; + struct strbuf url_buf = STRBUF_INIT; + const char *url_str = NULL; const char **url; int i, url_nr; - void **utilp; if (remote->url_nr > 0) { - utilp = &(string_list_append(remote->name, list)->util); - *utilp = xmalloc(strlen(remote->url[0])+strlen(" (fetch)")+1); - strcpy((char *) *utilp, remote->url[0]); - strcat((char *) *utilp, " (fetch)"); - } else - string_list_append(remote->name, list)->util = NULL; + strbuf_addf(&url_buf, "%s (fetch)", remote->url[0]); + url_str = strbuf_detach(&url_buf, NULL); + } + string_list_append(remote->name, list)->util = url_str; + if (remote->pushurl_nr) { url = remote->pushurl; url_nr = remote->pushurl_nr; @@ -1296,10 +1296,9 @@ static int get_one_entry(struct remote *remote, void *priv) } for (i = 0; i < url_nr; i++) { - utilp = &(string_list_append(remote->name, list)->util); - *utilp = xmalloc(strlen(url[i])+strlen(" (push)")+1); - strcpy((char *) *utilp, url[i]); - strcat((char *) *utilp, " (push)"); + strbuf_addf(&url_buf, "%s (push)", url[i]); + url_str = strbuf_detach(&url_buf, NULL); + string_list_append(remote->name, list)->util = url_str; } return 0;
-- tg: (d6a466e..) bw/remote-v-use-strbuf (depends on: next)