Source-Changes-D archive

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

Re: CVS commit: src/lib/libc/stdio



In article <20101023153336.GA822%colwyn.zhadum.org.uk@localhost>,
Matthias Scheler  <tron%NetBSD.org@localhost> wrote:
>On Sat, Oct 23, 2010 at 10:12:51AM -0400, Christos Zoulas wrote:
>> Module Name: src
>> Committed By:        christos
>> Date:                Sat Oct 23 14:12:51 UTC 2010
>> 
>> Modified Files:
>>      src/lib/libc/stdio: local.h
>> 
>> Log Message:
>> tell lint to shut up.
>
>I'm sorry but this whole code is horrible. What is wrong with something
>as simple as this?
>
>Index: local.h
>===================================================================
>RCS file: /cvsroot/src/lib/libc/stdio/local.h,v
>retrieving revision 1.28
>diff -u -r1.28 local.h
>--- local.h    23 Oct 2010 14:12:50 -0000      1.28
>+++ local.h    23 Oct 2010 15:10:27 -0000
>@@ -37,6 +37,8 @@
> #include "wcio.h"
> #include "fileext.h"
> 
>+#include <limits.h>
>+
> /*
>  * Information local to this implementation of stdio,
>  * in particular, macros and private variables.
>@@ -117,5 +119,4 @@
> /*
>  * Detect if the current file position fits in a long int.
>  */
>-#define _FPOS_OVERFLOW(pos) (/*CONSTCOND*/sizeof(fpos_t) > sizeof(long) && \
>-      ((pos) & (~0ULL << ((sizeof(fpos_t) - sizeof(long)) * NBBY))) != 0)
>+#define _FPOS_OVERFLOW(pos) ((pos) < LONG_MIN || (pos) > LONG_MAX)
>
>
>It works fine under NetBSD/i386 and builts fine for NetBSD/amd64.
>And I would hope that the compiler is clever anough to optimize
>the code away on 64bit platforms.
>
Nothing, change it.

christos



Home | Main Index | Thread Index | Old Index