All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre Habouzit <madcoder@debian.org>
To: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [RFC] strbuf's in builtin-apply
Date: Sat, 15 Sep 2007 19:07:27 +0200	[thread overview]
Message-ID: <20070915170727.GF27494@artemis.corp> (raw)
In-Reply-To: <20070915141210.GA27494@artemis.corp>

[-- Attachment #1: Type: text/plain, Size: 1497 bytes --]

On Sat, Sep 15, 2007 at 02:12:10PM +0000, Pierre Habouzit wrote:
> +		nsize = buf->len;
> +		nbuf = convert_to_git(path, buf->buf, &nsize);
> +		if (nbuf)
> +			strbuf_embed(buf, nbuf, nsize, nsize);

  Okay, I managed to be able to be sure that convert_to_git always have
an extra ending NUL byte, with an intermediate patch.  So now I call
strbuf_embed with nsize, nsize + 1 which has negligible cost.

  Though this question remains:

>   Another suspicious hunk is:
> 
> -	data = (void*) fragment->patch;
> [...]
>  	case BINARY_LITERAL_DEFLATED:
> -		free(desc->buffer);
> -		desc->buffer = data;
> -		dst_size = fragment->size;
> -		break;
> +		strbuf_embed(buf, fragment->patch, fragment->size, fragment->size);
> +		return 0;
> 
>   TTBOMK the ->patch pointer is a pointer inside a buffer, not a buffer
> that has been malloc'ed (and there are code paths before my patch that
> would still realloc the buffer so I don't think I introduce an issue).
> It passes the test-suite without crashing, but well, maybe this should
> be a copy instead.
> 
>   The rest is pretty straightforward.
> 
> -- 
> ·O·  Pierre Habouzit
> ··O                                                madcoder@debian.org
> OOO                                                http://www.madism.org



-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2007-09-15 17:07 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-15 14:12 [RFC] strbuf's in builtin-apply Pierre Habouzit
2007-09-15 13:56 ` [PATCH] New strbuf APIs: splice and embed Pierre Habouzit
2007-09-16  0:57   ` Junio C Hamano
2007-09-16  8:10     ` Pierre Habouzit
2007-09-15 14:04 ` [PATCH] builtin-apply: use strbuf's instead of buffer_desc's Pierre Habouzit
2007-09-16  0:56   ` Junio C Hamano
2007-09-16  8:15     ` Pierre Habouzit
2007-09-15 17:07 ` Pierre Habouzit [this message]
2007-09-16 17:21 ` [RFC] strbuf's in builtin-apply Pierre Habouzit
2007-09-15 13:56   ` [PATCH] New strbuf APIs: splice and attach Pierre Habouzit
2007-09-16 20:20     ` Florian Weimer
2007-09-16 20:51       ` Pierre Habouzit
2007-09-17  5:43         ` Florian Weimer
2007-09-15 13:56   ` [PATCH] Now that cache.h needs strbuf.h, remove useless includes Pierre Habouzit
2007-09-15 21:50   ` [PATCH] Refactor replace_encoding_header Pierre Habouzit
2007-09-16  8:19   ` [PATCH] Remove preemptive allocations Pierre Habouzit
2007-09-16 13:51   ` [PATCH] Rewrite convert_to_{git,working_tree} to use strbuf's Pierre Habouzit
2007-09-16 18:27     ` Linus Torvalds
2007-09-16 16:54   ` [PATCH] builtin-apply: use strbuf's instead of buffer_desc's Pierre Habouzit
2007-09-16 17:28   ` [RFC] strbuf's in builtin-apply Pierre Habouzit
2007-09-16 22:54     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070915170727.GF27494@artemis.corp \
    --to=madcoder@debian.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.