Jeff King <peff@xxxxxxxx> writes: > This code is exactly replicating strdup, so let's just use > that. It's shorter, and eliminates some confusion (such as > whether "p - s" is really enough to hold the result; it is, > because we write NULs as we shrink "p"). > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > remote.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/remote.c b/remote.c > index 5ab0f7f..1b69751 100644 > --- a/remote.c > +++ b/remote.c > @@ -297,7 +297,6 @@ static void read_branches_file(struct remote *remote) > int n = 1000; > FILE *f = fopen(git_path("branches/%.*s", n, remote->name), "r"); > char *s, *p; > - int len; Hmm, we would punish those with ridiculously long remote name by truncating at n but that is OK. We use buffer[BUFSIZ] to read various things in this file, not just $GIT_DIR/branches/* files, with fgets(), which may be better done if we switched to strbuf_getline(). Then we can also use trim family of calls from the strbuf API suite. Move to strbuf_getline() may be a doubly attractive proposition, with a possible change to strbuf_getline() to make it also remove CR that immediately precedes LF [*1*], helping DOSsy platforms. [Reference] *1* http://thread.gmane.org/gmane.comp.version-control.msysgit/21773/focus=21780 > > if (!f) > return; > @@ -313,9 +312,7 @@ static void read_branches_file(struct remote *remote) > p = s + strlen(s); > while (isspace(p[-1])) > *--p = 0; > - len = p - s; > - p = xmalloc(len + 1); > - strcpy(p, s); > + p = xstrdup(s); > > /* > * The branches file would have URL and optionally -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html