git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pierre Habouzit <madcoder@debian.org>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org, Bernt Hansen <bernt@alumni.uwaterloo.ca>
Subject: Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
Date: Fri, 05 Oct 2007 18:35:17 +0200	[thread overview]
Message-ID: <20071005163517.GD20305@artemis.corp> (raw)
In-Reply-To: <20071005162139.GC31413@uranus.ravnborg.org>

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

On Fri, Oct 05, 2007 at 04:21:39PM +0000, Sam Ravnborg wrote:
> On Fri, Oct 05, 2007 at 08:26:44AM -0700, Linus Torvalds wrote:
> > 
> > 
> > On Fri, 5 Oct 2007, Pierre Habouzit wrote:
> > >  
> > > -	strbuf_grow(buf, len);
> > > +	/* only grow if not in place */
> > > +	if (strbuf_avail(buf) + buf->len < len)
> > > +		strbuf_grow(buf, len - buf->len);
> > 
> > Umm. This is really ugly.
> > 
> > The whole point of strbuf's was that you shouldn't be doing your own 
> > allocation decisions etc. So why do it?
> > 
> > Wouldn't it be much better to have a strbuf_make_room() interface that 
> > just guarantees that there is enough room fo "len"? 
> > 
> > Otherwise, code like the above would seem to make the whole point of a 
> > safer string interface rather pointless. The above code only makes sense 
> > if you know how the strbuf's are internally done, so it should not exists 
> > except as internal strbuf code. No?
> 
> Took a short look at strbuf.h after seeing the above code.
> And I was suprised to see that all strbuf users were exposed to
> the strbuf structure.
> Following patch would at least make sure noone fiddle with strbuf internals.
> Cut'n'paste - only for the example of it.
> It simply moves strbuf declaration to the .c file where it rightfully belongs.

  you're looking at an antiquated version, please look at the one in
current master on current next. In this one, what you can do or not do
with the struct is explained

> git did not build with this change....

  Of course it doesn't! people want to have direct access to ->buf and
->len, and it's definitely OK.

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

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

  reply	other threads:[~2007-10-05 16:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87wsu2sad0.fsf@gollum.intra.norang.ca>
2007-10-05  8:20 ` [PATCH] Fix in-place editing in crlf_to_git and ident_to_git Pierre Habouzit
2007-10-05  8:11   ` [AGGREGATED PATCH] Fix in-place editing functions in convert.c Pierre Habouzit
2007-10-05  9:24     ` Johannes Sixt
2007-10-05 13:07     ` Bernt Hansen
2007-10-05 15:26     ` Linus Torvalds
2007-10-05 15:50       ` Pierre Habouzit
2007-10-05 16:21       ` Sam Ravnborg
2007-10-05 16:35         ` Pierre Habouzit [this message]
2007-10-05 17:25           ` Sam Ravnborg
2007-10-05 16:43         ` Linus Torvalds
2007-10-05 17:24           ` Sam Ravnborg
2007-10-05 18:05             ` Linus Torvalds
2007-10-05 19:27               ` Dmitry Potapov
2007-10-05 19:33                 ` Linus Torvalds
2007-10-05  8:27   ` [PATCH] Fix memory leak in apply_filter Pierre Habouzit
2007-10-05  8:29   ` Pierre Habouzit
2007-10-05  8:30   ` [PATCH] Fix in-place editing in crlf_to_git and ident_to_git Johannes Schindelin
2007-10-05  8:40     ` Pierre Habouzit

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=20071005163517.GD20305@artemis.corp \
    --to=madcoder@debian.org \
    --cc=bernt@alumni.uwaterloo.ca \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sam@ravnborg.org \
    --cc=torvalds@linux-foundation.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).