Re: [Nagios-devel] warning: left shift count >= width of type (i386)

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

Re: [Nagios-devel] warning: left shift count >= width of type (i386)

Post by Guest »

* Ricardo Jose Maraschini ([email protected]) wrote:
> OK, I'm not pretty sure about following, but here we go.
> I tried to compile current nagios on a i386 arch and received the
> following warning:
>
> squeue.c:34: warning: left shift count >= width of type
>
> If i'm right, long is four bytes long on i386 arch, and as tv_sec is
> a long(accordingly to gettimeofday(2)) the result of line 34 on squeue.c
> is unpredictable.
>
> Am I right or I'm missing something?
>
> Compiling on a sparc64 and in a x86_64 environment i haven't received
> the same warning. On these architectures, sizeof(long) shows me 8 bytes.
>
> What are the performance implications of my patch below?
>
> -rm

The patch below seems to be much more appropriate than the previous one.

===================================================================
--- lib/squeue.c (revision 2138)
+++ lib/squeue.c (working copy)
@@ -31,7 +31,7 @@

static pqueue_pri_t evt_compute_pri(struct timeval *tv)
{
- return (tv->tv_sec tv_usec;
+ return ((pqueue_pri_t)tv->tv_sec tv_usec;
}

static int sq_cmp_pri(pqueue_pri_t next, pqueue_pri_t cur)





This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked