[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tpop3d-discuss] Bug? (on Linux/390)
From: |
Chris Lightfoot |
Subject: |
Re: [tpop3d-discuss] Bug? (on Linux/390) |
Date: |
Sat, 25 Aug 2001 12:15:58 +0100 |
On Sat, Aug 25, 2001 at 07:53:09AM +0200, Allan Joergensen wrote:
> On 25-Aug-2001, Chris Lightfoot wrote:
>
> > Could you try replacing line 494 of main.c with
> > while ((c = getopt(argc, argv, optstring)) != -1) {
> > ? This should fix the problem; if not, I will investigate
> > further.
> > Re-reading the getopt man page, the previous code (!= EOF)
> > was in error. Evidently this was not apparent on the other
> > architectures I've tried :)
>
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -g -c main.c
> main.c: In function `main':
> main.c:494: warning: comparison is always true due to limited range of
> data type
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -g -c md5c.c
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -g -c pidfile.c
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -g -c pop3.c
> pop3.c: In function `connection_do':
> pop3.c:319: warning: int format, long int arg (arg 5)
> pop3.c:329: warning: int format, long int arg (arg 5)
>
> And tpop3d is still not working.
... D'oh, my bad. Could you also replace the definition
of c on line 497 of main.c, making it an int instead?
> It seems odd that something working on x86 Linux is not running here;
> maybe it has something to do with the level GCC and friends?
I suspect (though I am not sure) that char is unsigned
rather than signed on the S/390 machine. This breaks an
assumption I made in the option processing code. (Hmm.
I've found some references which suggest that this is
indeed the case.)
> Please let me know if you feel that it might be a good idea to upgrade
> the compiler tools (it will not be easy, but I'll do it if you want me
> to :))
I don't think that should be necessary.
--
Chris Lightfoot -- www.ex-parrot.com/~chris/
``The jawbone of an ass is just as dangerous
a weapon today as in Samson's time.'' (Richard Nixon)