Re: [PATCH v3] diff: generate prettier filenames when using GIT_EXTERNAL_DIFF
- From
Stephen Boyd <bebarino@gmail.com>
- Date
- May 26, 2009, 06:01 UTC
- Message-ID
- <4A1B85B8.1050907@gmail.com>
- In-Reply-To
- <1243316165-99065-1-git-send-email-davvid@gmail.com>
David Aguilar wrote:
Show 18 quoted lines
> - fd = git_mkstemp(temp->tmp_path, PATH_MAX, ".diff_XXXXXX");
> + if (pretty_filename) {
> + struct strbuf pretty_name = STRBUF_INIT;
> + char *pathdup = xstrdup(path);
> + char *base = basename(pathdup);
> + char *dot = strchr(base, '.');
> + int suffix_len = 0;
> +
> + if (dot) {
> + /* path has an extension, e.g. "foo.txt";
> + * generate "foo.XXXX.txt".
> + */
> + *dot = '\0';
> + strbuf_addstr(&pretty_name, base);
> + *dot = '.';
> + strbuf_addstr(&pretty_name, ".XXXXXX");
> + suffix_len = strlen(dot);
> + strbuf_addstr(&pretty_name, dot);This *dot business annoys me. Would it be better to use strbuf_add() with some pointer math thrown in? Also, what happens with files such as "foo.bar.txt"? Do we want "foo.XXXXX.bar.txt"?