pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Minor(ish) changes to PsppireValueEntry


From: Ben Pfaff
Subject: Re: Minor(ish) changes to PsppireValueEntry
Date: Mon, 23 Apr 2012 21:11:12 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

John Darrington <address@hidden> writes:

> diff --git a/src/data/value-labels.c b/src/data/value-labels.c
> index 0b2ae3f..679f4d1 100644
> --- a/src/data/value-labels.c
> +++ b/src/data/value-labels.c
> @@ -362,6 +362,12 @@ val_labs_equal (const struct val_labs *a, const struct 
> val_labs *b)
>  {
>    const struct val_lab *label;
>  
> +  if (a == b)
> +    return true;
> +
> +  if ( ( a == NULL && b != NULL) || (b == NULL && a != NULL))
> +    return false;
> +
>    if (val_labs_count (a) != val_labs_count (b) || a->width != b->width)
>      return false;

This isn't right, because a null val_labs can equal a nonnull
one, if the nonnull one doesn't have any labels.

How about this instead:

  if (val_labs_count (a) != val_labs_count (b))
    return false;

  if (a == NULL || b == NULL)
    return true;

  if (a->width != b->width)
    return false;

The update to psppire_value_entry_set_value_labels() looks good
to me.

Thanks,

Ben.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]