Subject: Re: bug#6555: stat enhancement

From: A Burgie <[email-masked]>
Date: Mon, 5 Jul 2010 09:52:08 -0600

On Mon, Jul 5, 2010 at 09:41, Jim Meyering <[email-masked]> wrote:
> Jim Meyering wrote:
>> I'll push these two change-sets shortly.
>>
>> Subject: [PATCH 1/2] system.h: define ATTRIBUTE_WARN_UNUSED_RESULT
> ...
>> +/* The warn_unused_result attribute appeared first in gcc-3.4.0 */
>> +#undef ATTRIBUTE_WARN_UNUSED_RESULT
>> +#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
>> +# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
>> +#else
>> +# define ATTRIBUTE_WARN_UNUSED_RESULT /* empty */
>> +#endif
>
> Just noticed I reversed the if/else branches above.
> This works a lot better:
>
> commit 61aae73f5427c987b20604fbec5772e02edc0f74
> Author: Jim Meyering <[email-masked]>
> Date:   Mon Jul 5 17:16:23 2010 +0200
>
>    system.h: define ATTRIBUTE_WARN_UNUSED_RESULT
>
>    * src/system.h (ATTRIBUTE_WARN_UNUSED_RESULT): Define.
>
> diff --git a/src/system.h b/src/system.h
> index 859b663..9e14681 100644
> --- a/src/system.h
> +++ b/src/system.h
> @@ -483,6 +483,14 @@ enum
>  # define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
>  #endif
>
> +/* The warn_unused_result attribute appeared first in gcc-3.4.0 */
> +#undef ATTRIBUTE_WARN_UNUSED_RESULT
> +#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
> +# define ATTRIBUTE_WARN_UNUSED_RESULT /* empty */
> +#else
> +# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
> +#endif
> +
>  #if defined strdupa
>  # define ASSIGN_STRDUPA(DEST, S)               \
>   do { DEST = strdupa (S); } while (0)
>

Just to make sure I understand why something else was invalid, I
wrapped the print statement with an if that basically had the same
logic as df.c (mp=find_mount_point....; if(mp){print....})

That, to me, seemed valid, though it would not print anything at all
if find_mount_point returned a null.  I suppose it would be preferred
for the question-mark result which is perhaps what your version is
doing.  Anyway, just thought I'd throw that out there.

Sent in the e-mail for the legal side of things; waiting to hear back from them.