Hi.  I've been building screen 4.0.3 for Cygwin 1.5 for several years now.
Now Cygwin 1.7 is out, and it appears that the Cygwin API has changed,
because I'm getting some build errors.

Can someone please advise what's the simplest or best way to correct for
these?

(1) The build fails with

extern.h:149: error: conflicting types for 'execvpe'

Indeed Cygwin's /usr/include/unistd.h has

int _EXFUN(execvpe, (const char *__file, char * const __argv[], char *const
__envp[] ));

while extern.h has

extern void  execvpe __P((char *, char **, char **));

execvpe() is defined in window.c:1387, so screen has its own private
implementation, apparently now incompatible with Cygwin's.

(2) 

Similarly, I get warnings about incompatible implicit declarations of
strlen, strcpy, and strncpy, e.g.

screen.c: In function 'main':
screen.c:473: warning: incompatible implicit declaration of built-in
function 'strcpy'
screen.c:642: warning: incompatible implicit declaration of built-in
function 'strlen'

/usr/include/string.h has

size_t   _EXFUN(strlen,(const char *));
char    *_EXFUN(strcpy,(char *, const char *));
char    *_EXFUN(strncpy,(char *, const char *, size_t));

I'm not sure what's wrong with this, since the function calls that are
triggering the warnings are just e.g.

(screen.c:473) strcpy(screenterm, "screen");
(screen.c:642) if (strlen(*++av) < 20)

where screenterm and av are of the right types.  

I'm also not sure what "built-in function 'strcpy'" means-- built into
what?  Does this mean that the compiler is using a different version of
strlen() et al. than the one in string.h?

Thanks,
Andrew.



_______________________________________________
screen-users mailing list
screen-users@gnu.org
http://lists.gnu.org/mailman/listinfo/screen-users

Reply via email to