Re: [PATCH] Don't multiply by -1 when assigning memory
- From: Rodrigo Moya <rodrigo gnome-db org>
- To: James Henstridge <james jamesh id au>
- Cc: gtk-devel-list gnome org, Matthias Clasen <mclasen redhat com>
- Subject: Re: [PATCH] Don't multiply by -1 when assigning memory
- Date: Thu, 05 Jan 2006 11:22:11 +0100
On Wed, 2006-01-04 at 20:58 +0800, James Henstridge wrote:
> Rodrigo Moya wrote:
>
> >On Wed, 2006-01-04 at 07:34 -0500, Matthias Clasen wrote:
> >
> >
> >>On Wed, 2006-01-04 at 13:18 +0100, Rodrigo Moya wrote:
> >>
> >>
> >>>Hi
> >>>
> >>>Attached patch fixes a problem I just found out. Running any GTK app
> >>>showed this:
> >>>
> >>>GLib-ERROR **: gmem.c:143: failed to allocate 68719477360 bytes
> >>>
> >>>I found the culprit to be the patched function, which was multiplying by
> >>>-1 when n_args was 0.
> >>>
> >>>Ok to commit to HEAD?
> >>>
> >>>
> >>No, thats not the right fix. We do want to subtract one GtkBindingArg
> >>size from the GtkBindingSignal size there.
> >>
> >>
> >>
> >that's what it does for all cases, except when it is 0.
> >
> >
> What Matthias is saying is that in the case of zero args, you don't need
> to allocate the full size of GtkBindingSignal: you don't need to
> GtkBindingArg embedded at the end of the struct. So the correct answer
> would probably be:
> sizeof (GtkBindingSignal) + n_args * sizeof (GtkBindingArg) - sizeof
> (GtkBindingArg)
>
hmm, but if I understand it correctly, this would yield an invalid value
when n_args = 0, since it would be:
sizeof (GtkBindingSignal) + 0 * sizeof (GtkBindingArg) - sizeof
(GtkBindingArg)
which will be:
sizeof (GtkBindingSignal) + sizeof (GtkBindingArg)
is that what we want?
--
Rodrigo Moya <rodrigo gnome-db org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]