At 9:09 AM -0700 4/27/05, Ken A wrote:

pop_pass.c: In function `check_password':
pop_pass.c:1365: warning: passing arg 1 of `strlen' makes pointer from integer without a cast
pop_pass.c:1365: warning: passing arg 1 of `__builtin_strcmp' makes pointer from integer without a cast
pop_pass.c:1365: warning: passing arg 1 of `strlen' makes pointer from integer without a cast
pop_pass.c:1365: warning: passing arg 1 of `__builtin_strcmp' makes pointer from integer without a cast
pop_pass.c:1365: warning: passing arg 1 of `__builtin_strcmp' makes pointer from integer without a cast
pop_pass.c:1365: warning: passing arg 1 of `__builtin_strcmp' makes pointer from integer without a cast

I get the same warnings on SunOS. Looking into it a bit more, it appears that, even though unistd.h is being included, the prototype for crypt() is never hit. The SunOS unistd.h has two prototypes for crypt(), both guarded by


        #if (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)) || \
        defined(__EXTENSIONS__)

I'm not sure why there are two, but it seems that both are skipped.

The warnings are annoying, but not serious. Still, it would be nice to fix this.

Can you check /usr/include/unistd.h on your platform and see what the crypt() prototype looks like and if it is guarded by #ifdef conditions?
--
Randall Gellens
Opinions are personal; facts are suspect; I speak for myself only
-------------- Randomly-selected tag: ---------------
There is always an easy solution to every human problem -- neat,
plausible, and wrong. --H.L. Mencken

Reply via email to