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?
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
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.
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?