diff --git a/x11/pdcx11.c b/x11/pdcx11.c index ca87c4b8..583beefb 100644 --- a/x11/pdcx11.c +++ b/x11/pdcx11.c @@ -2699,7 +2699,7 @@ MOUSE_STATUS *ms; if (trace_on) PDC_debug("%s:XCursesSendKeyToCurses() - called: sending %d\n",(XCursesProcess)?" X":"CURSES",key); #endif memcpy(buf,(char *)&key,sizeof(unsigned long)); - if (write_socket(key_sock,buf,sizeof(int)) < 0) + if (write_socket(key_sock,buf,sizeof(unsigned long)) < 0) XCursesExitXCursesProcess(1,SIGKILL,"exiting from XCursesSendKeyToCurses"); if ( ms != NULL ) { diff --git a/x11/process/x11curses.c b/x11/process/x11curses.c index e2fc47e3..290c7f11 100644 --- a/x11/process/x11curses.c +++ b/x11/process/x11curses.c @@ -195,7 +195,7 @@ int delaytenths; if (read_socket(key_sock,buf,sizeof(unsigned long)) < 0) XCursesExitCursesProcess(2,"exiting from XCurses_rawchar"); /* what else ?? */ memcpy((char *)&newkey,buf,sizeof(unsigned long)); - pdc_key_modifier = newkey >> 24; /*(sizeof(unsigned long) - sizeof(unsigned char)); */ + pdc_key_modifier = (newkey >> 24) & 0xFF; /*(sizeof(unsigned long) - sizeof(unsigned char)); */ key = (int)(newkey & 0x00FFFFFF); } #if 0 diff --git a/x11/thread/x11curses.c b/x11/thread/x11curses.c index 3058f4a7..88d103d1 100644 --- a/x11/thread/x11curses.c +++ b/x11/thread/x11curses.c @@ -212,7 +212,7 @@ int delaytenths; if (read_socket(key_sock,buf,sizeof(unsigned long)) < 0) XCursesExitCursesProcess(2,"exiting from XCurses_rawchar"); /* what else ?? */ memcpy((char *)&newkey,buf,sizeof(unsigned long)); - pdc_key_modifier = newkey >> 24; /*(sizeof(unsigned long) - sizeof(unsigned char)); */ + pdc_key_modifier = (newkey >> 24) & 0xFF; /*(sizeof(unsigned long) - sizeof(unsigned char)); */ key = (int)(newkey & 0x00FFFFFF); } #if 0