15 Dec, 2012, Igabod wrote in the 1st comment:
Votes: 0
act_info.c: In function do_password:
act_info.c:3821:5: warning: array subscript has type char
act_info.c:3840:5: warning: array subscript has type char
act_info.c:3865:10: warning: implicit declaration of function crypt
act_info.c:3865:10: warning: passing argument 1 of strcmp makes pointer from integer without a cast
/usr/include/string.h:30:6: note: expected const char * but argument is of type int
act_info.c:3882:12: warning: assignment makes pointer from integer without a cast


This is just one example of the same error popping up in any location making reference to crypt. I'm on cygwin and I know the limitations of it in regard to crypt. but I don't remember seeing the bit about string.h expecting const char until I just now changed all sh_ints for hit and max_hit to ints. Am I just mistaken and that was always there or is it something new because of my changes?
15 Dec, 2012, Tyche wrote in the 2nd comment:
Votes: 0
I am not aware of any problems or limitations with crypt() in Cygwin.
The warning is because it's not declared. You need to include the system header.
#include <unistd.h>

You also need to explicitly link the crypt library in your makefile.
-lcrypt
15 Dec, 2012, Igabod wrote in the 3rd comment:
Votes: 0
including unistd.h had no effect on it. but putting DNOCRYPT and DQMFIXES in the c_flags in the Makefile did it. I forgot all about those fixes.
15 Dec, 2012, quixadhal wrote in the 4th comment:
Votes: 0
I'm not sure I'd consider disabling the use of crypt() a "fix" for the problem. That's like saying you have a locked door and solving the problem by going away.
16 Dec, 2012, Tyche wrote in the 5th comment:
Votes: 0
Try…
#include <crypt.h>
16 Dec, 2012, Igabod wrote in the 6th comment:
Votes: 0
crypt.h fixed it. thanks Tyche.
0.0/6