Sorry all, I've been having mail client issues, I hope this goes to
the list this time.
Cheers,
Matthew Brush (codebrainz)
-------- Original Message --------
On 03/13/11 03:19, Lex Trotman wrote:
>
> I don't think this is a good idea since g_strstrip() doesn't actually
> change the size recorded in the GString, it might appear to work
> sometimes but it might also fail. Note that a GString also does not
> have to be null terminated so the g_strstrip might write beyond the
> buffer if you are unlucky. I think you are better not to do this.
>
I have updated the patch (see attachment) to be more safe, based on your
comments. I'm not 100% confident this is the Best Way, but maybe if
someone has time to review the way it's being done, they could fix it or
suggest the best way. My idea is to allocate a buffer filled with
zeroes, one bigger than the ->len size, copy the ->str member into the
new buffer, except its nul char, and the new buffer is sure to have at
least a nul at the end. After, the new buffer is stripped of whitespace
and split into lines. From reading the GString docs, it sounds like the
->str member *is* always nul terminated, but this way is safe even if it
isn't, I think.
Is this better? Overkill? Stupid?
Cheers,
Matthew Brush (codebrainz)