else {
/* Extract the transferred file descriptor from the control data */
- int fd = *(int *)CMSG_DATA (h);
+ unsigned char *data = CMSG_DATA (h);
+ int fd = *(int *)data;
/* Duplicate the received file descriptor to stdout */
dup2 (fd, STDOUT_FILENO);
msg.msg_controllen = controllen;
/* Add STDOUT to the control data */
- *(int *)CMSG_DATA (cmptr) = STDOUT_FILENO;
+ unsigned char *data = CMSG_DATA (cmptr);
+ *(int *)data = STDOUT_FILENO;
if (sendmsg (s, &msg, 0) != 1) {
perror ("sendmsg stdout fd");
goto error;
}
- if (strcmp (hello.vers, PACKAGE_VERSION) != 0) {
+ if (STRNEQ (hello.vers, PACKAGE_VERSION)) {
fprintf (stderr, _("guestfish: protocol error: version mismatch, server version '%s' does not match client version '%s'. The two versions must match exactly.\n"),
PACKAGE_VERSION,
hello.vers);