Minor reorganization of X11 port -- since there are no longer differing

copyright terms on the files, there's less reason to keep the "PDCurses"
and "XCurses" stuff separated that way; and since the thread port is
dead, there's less need for the separation embodied in the "process"
directory, which isn't clean anyway. Of course, the various ports and
the "portable" stuff still need to be separated, but that's actually
easier now -- because, for example, many of the XCurses* defines from
curspriv.h are gone. To Do: Much more.
This commit is contained in:
William McBrine
2006-07-02 19:03:59 +00:00
parent e9ac0e4b11
commit 75f38d4ff3
12 changed files with 208 additions and 297 deletions

View File

@@ -15,7 +15,7 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
/* $Id: curspriv.h,v 1.68 2006/04/25 22:43:12 wmcbrine Exp $ */
/* $Id: curspriv.h,v 1.69 2006/07/02 19:03:59 wmcbrine Exp $ */
/* CURSPRIV.H
@@ -265,25 +265,13 @@ int PDC_query_adapter_type(void);
#endif
#ifdef XCURSES
int XCurses_display_cursor(int, int, int, int, int);
int XCurses_rawgetch(void);
bool XCurses_kbhit(void);
int XCurses_get_input_fd(void);
int XCursesInstruct(int);
int XCursesInstructAndWait(int);
int XCurses_transform_line(const chtype *, int, int, int);
int XCursesInitscr(const char *, int, char **);
int XCursesEndwin(void);
void XCursesCleanupCursesProcess(int);
int XCursesResizeScreen(int, int);
int XCurses_get_cols(void);
int XCurses_get_rows(void);
int XCurses_refresh_scrollbar(void);
void XCurses_set_title(const char *);
int XCurses_getclipboard(char **, long *);
int XCurses_setclipboard(const char *, long);
int XCurses_clearclipboard(void);
unsigned long XCurses_get_key_modifiers(void);
#endif
#ifdef __PACIFIC__

View File

@@ -15,11 +15,11 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
#include <stdlib.h>
RCSID("$Id: pdcclip.c,v 1.17 2006/03/29 20:06:41 wmcbrine Exp $");
RCSID("$Id: pdcclip.c,v 1.18 2006/07/02 19:03:59 wmcbrine Exp $");
/*man-start**************************************************************
@@ -50,9 +50,40 @@ RCSID("$Id: pdcclip.c,v 1.17 2006/03/29 20:06:41 wmcbrine Exp $");
int PDC_getclipboard(char **contents, long *length)
{
int result = 0;
int len;
PDC_LOG(("PDC_getclipboard() - called\n"));
return XCurses_getclipboard(contents, length);
XCursesInstructAndWait(CURSES_GET_SELECTION);
if (read_socket(display_sock, (char *)&result, sizeof(int)) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
if (result == PDC_CLIP_SUCCESS)
{
if (read_socket(display_sock, (char *)&len, sizeof(int)) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
if (len != 0)
{
*contents = (char *)malloc(len + 1);
if (!*contents)
XCursesExitCursesProcess(6, "exiting from "
"XCurses_getclipboard - synchronization error");
if (read_socket(display_sock, *contents, len) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
*length = len;
}
}
return result;
}
/*man-start**************************************************************
@@ -78,9 +109,22 @@ int PDC_getclipboard(char **contents, long *length)
int PDC_setclipboard(const char *contents, long length)
{
int rc;
PDC_LOG(("PDC_setclipboard() - called\n"));
return XCurses_setclipboard(contents, length);
XCursesInstruct(CURSES_SET_SELECTION);
/* Write, then wait for X to do its stuff; expect return code. */
if (write_socket(display_sock, (char *)&length, sizeof(long)) >= 0)
if (write_socket(display_sock, contents, length) >= 0)
if (read_socket(display_sock, (char *)&rc, sizeof(int)) >= 0)
return rc;
XCursesExitCursesProcess(5, "exiting from PDC_setclipboard");
return ERR; /* not reached */
}
/*man-start**************************************************************
@@ -128,5 +172,20 @@ int PDC_freeclipboard(char *contents)
int PDC_clearclipboard(void)
{
return XCurses_clearclipboard();
int rc;
long len = 0;
PDC_LOG(("PDC_clearclipboard() - called\n"));
XCursesInstruct(CURSES_CLEAR_SELECTION);
/* Write, then wait for X to do its stuff; expect return code. */
if (write_socket(display_sock, (char *)&len, sizeof(long)) >= 0)
if (read_socket(display_sock, (char *)&rc, sizeof(int)) >= 0)
return rc;
XCursesExitCursesProcess(5, "exiting from PDC_clearclipboard");
return ERR; /* not reached */
}

View File

@@ -15,11 +15,11 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
#include <string.h>
RCSID("$Id: pdcdisp.c,v 1.21 2006/03/29 20:06:41 wmcbrine Exp $");
RCSID("$Id: pdcdisp.c,v 1.22 2006/07/02 19:03:59 wmcbrine Exp $");
/*man-start**************************************************************
@@ -133,7 +133,20 @@ void PDC_transform_line(int lineno)
dstp = curscr->_y[lineno] + x;
len = endx - x + 1;
XCurses_transform_line(dstp, lineno, x, len);
/* loop until we can write to the line */
while (*(Xcurscr + XCURSCR_FLAG_OFF + lineno))
dummy_function();
*(Xcurscr + XCURSCR_FLAG_OFF + lineno) = 1;
memcpy(Xcurscr + XCURSCR_Y_OFF(lineno) + (x * sizeof(chtype)),
dstp, len * sizeof(chtype));
*(Xcurscr + XCURSCR_START_OFF + lineno) = x;
*(Xcurscr + XCURSCR_LENGTH_OFF + lineno) = len;
*(Xcurscr + XCURSCR_FLAG_OFF + lineno) = 0;
curscr->_firstch[lineno] = _NO_CHANGE;
curscr->_lastch[lineno] = _NO_CHANGE;

View File

@@ -15,10 +15,9 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
RCSID("$Id: pdcgetsc.c,v 1.15 2006/03/29 20:06:41 wmcbrine Exp $");
RCSID("$Id: pdcgetsc.c,v 1.16 2006/07/02 19:03:59 wmcbrine Exp $");
/*man-start**************************************************************
@@ -45,7 +44,7 @@ int PDC_get_columns(void)
{
PDC_LOG(("PDC_get_columns() - called\n"));
return XCurses_get_cols();
return XCursesCOLS;
}
/*man-start**************************************************************
@@ -73,7 +72,7 @@ int PDC_get_rows(void)
{
PDC_LOG(("PDC_get_rows() - called\n"));
return XCurses_get_rows();
return XCursesLINES;
}
/*man-start**************************************************************

View File

@@ -15,10 +15,9 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
RCSID("$Id: pdckbd.c,v 1.21 2006/04/15 16:55:28 wmcbrine Exp $");
RCSID("$Id: pdckbd.c,v 1.22 2006/07/02 19:03:59 wmcbrine Exp $");
/*man-start**************************************************************
@@ -45,7 +44,7 @@ unsigned long PDC_get_input_fd(void)
{
PDC_LOG(("PDC_get_input_fd() - called\n"));
return XCurses_get_input_fd();
return key_sock;
}
/*man-start**************************************************************
@@ -204,5 +203,5 @@ unsigned long PDC_get_key_modifiers(void)
{
PDC_LOG(("PDC_get_key_modifiers() - called\n"));
return XCurses_get_key_modifiers();
return pdc_key_modifier;
}

View File

@@ -15,10 +15,9 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
RCSID("$Id: pdcscrn.c,v 1.23 2006/03/29 20:06:41 wmcbrine Exp $");
RCSID("$Id: pdcscrn.c,v 1.24 2006/07/02 19:03:59 wmcbrine Exp $");
bool GLOBAL_sb_on = FALSE;
bool GLOBAL_slk_on = FALSE;
@@ -136,5 +135,28 @@ int PDC_resize_screen(int nlines, int ncols)
PDC_LOG(("PDC_resize_screen() - called. Lines: %d Cols: %d\n",
nlines, ncols));
return XCursesResizeScreen(nlines, ncols);
shmdt((char *)Xcurscr);
XCursesInstructAndWait(CURSES_RESIZE);
if ((shmid_Xcurscr = shmget(shmkey_Xcurscr,
SP->XcurscrSize + XCURSESSHMMIN, 0700)) < 0)
{
perror("Cannot allocate shared memory for curscr");
kill(otherpid, SIGKILL);
return ERR;
}
XCursesLINES = SP->lines;
XCursesCOLS = SP->cols;
PDC_LOG(("%s:shmid_Xcurscr %d shmkey_Xcurscr %d SP->lines %d "
"SP->cols %d\n", XCLOGMSG, shmid_Xcurscr,
shmkey_Xcurscr, SP->lines, SP->cols));
Xcurscr = (unsigned char*)shmat(shmid_Xcurscr, 0, 0);
atrtab = (unsigned char *)(Xcurscr + XCURSCR_ATRTAB_OFF);
SP->resized = FALSE;
return OK;
}

View File

@@ -15,10 +15,11 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
#define CURSES_LIBRARY 1
#include <curses.h>
#include "pdcx11.h"
RCSID("$Id: pdcsetsc.c,v 1.16 2006/03/29 20:06:41 wmcbrine Exp $");
#include <string.h>
RCSID("$Id: pdcsetsc.c,v 1.17 2006/07/02 19:03:59 wmcbrine Exp $");
/*man-start**************************************************************
@@ -119,7 +120,17 @@ int PDC_curs_set(int visibility)
void PDC_set_title(const char *title)
{
int len;
PDC_LOG(("PDC_set_title() - called:<%s>\n", title));
XCurses_set_title(title);
len = strlen(title) + 1; /* write nul character */
XCursesInstruct(CURSES_TITLE);
if (write_display_socket_int(len) >= 0)
if (write_socket(display_sock, title, len) >= 0)
return;
XCursesExitCursesProcess(1, "exiting from PDC_set_title");
}

View File

@@ -20,7 +20,7 @@
#include <stdlib.h>
#include <string.h>
RCSID("$Id: pdcx11.c,v 1.67 2006/07/02 07:08:27 wmcbrine Exp $");
RCSID("$Id: pdcx11.c,v 1.68 2006/07/02 19:03:59 wmcbrine Exp $");
AppData app_data;
@@ -2345,21 +2345,6 @@ void XCursesEnterLeaveWindow(Widget w, XtPointer client_data, XEvent *event,
}
}
int XCurses_get_rows(void)
{
return XCursesLINES;
}
int XCurses_get_cols(void)
{
return XCursesCOLS;
}
unsigned long XCurses_get_key_modifiers(void)
{
return pdc_key_modifier;
}
int XCursesSendKeyToCurses(unsigned long key, MOUSE_STATUS *ms)
{
PDC_LOG(("%s:XCursesSendKeyToCurses() - called: sending %d\n",

View File

@@ -15,7 +15,7 @@
* See the file maintain.er for details of the current maintainer. *
************************************************************************/
/* $Id: pdcx11.h,v 1.28 2006/07/01 18:06:43 wmcbrine Exp $ */
/* $Id: pdcx11.h,v 1.29 2006/07/02 19:03:59 wmcbrine Exp $ */
#define CURSES_LIBRARY 1
#ifdef HAVE_CONFIG_H
@@ -234,6 +234,8 @@ typedef struct
char *textCursor;
} AppData;
extern AppData app_data;
#define XCURSESNORMALFONTINFO app_data.normalfont
#define XCURSESITALICFONTINFO app_data.italicfont
#define XCURSESLINES app_data.lines
@@ -275,7 +277,74 @@ typedef struct
#endif
#define PDC_NUMBER_XCURSES_ACTIONS 5
#include "x11.h"
void dummy_function(void);
void get_GC(Display *, Window, GC *, XFontStruct *, int, int, bool);
void makeXY(int, int, int, int, int *, int *);
int get_colors(void);
void start_event_handler(void);
int XCursesTransformLine(int, int, chtype, int, int, int, char *);
int XCursesDisplayText(const chtype *, int, int, int, bool);
void XCursesDisplayScreen(bool);
void XCursesDisplayCursor(int, int, int, int);
int XCurses_display_cursor(int, int, int, int, int);
void XCursesStructureNotify(Widget, XtPointer, XEvent *, Boolean *);
void XCursesEnterLeaveWindow(Widget, XtPointer, XEvent *, Boolean *);
void XCursesPasteSelection(Widget, XButtonEvent *);
void XCursesHandleString(Widget, XEvent *, String *, Cardinal *);
void XCursesKeyPress(Widget, XEvent *, String *, Cardinal *);
void XCursesModifierPress(Widget, XEvent *, String *, Cardinal *);
void XCursesButton(Widget, XEvent *, String *, Cardinal *);
Boolean XCursesConvertProc(Widget, Atom *, Atom *, Atom *, XtPointer *,
unsigned long *, int *);
void XCursesLoseOwnership(Widget, Atom *);
void XCursesRequestorCallbackForPaste(Widget, XtPointer, Atom *, Atom *,
XtPointer, unsigned long *, int *);
void XCursesRequestorCallbackForGetSelection(Widget, XtPointer, Atom *, Atom *,
XtPointer, unsigned long *, int *);
RETSIGTYPE XCursesSignalHandler(int);
void XCursesExitCursesProcess(int, char *);
void XCursesExitXCursesProcess(int, int, char *);
void SelectionOff(void);
void SelectionOn(int, int);
void SelectionExtend(int, int);
void SelectionSet(void);
int write_socket(int, const char *, int);
int read_socket(int, char *, int);
int write_display_socket_int(int);
int XCursesSetupX(const char *display_name, int argc, char *argv[]);
RETSIGTYPE XCursesSigwinchHandler(int signo);
#ifdef _HPUX_SOURCE
# define FD_SET_CAST int *
#else
# define FD_SET_CAST fd_set *
#endif
extern fd_set readfds;
extern fd_set writefds;
extern struct timeval socket_timeout;
extern unsigned char *Xcurscr;
extern int XCursesProcess;
extern int shmidSP;
extern int shmid_Xcurscr;
extern int shmkeySP;
extern int shmkey_Xcurscr;
extern int otherpid;
extern int XCursesLINES;
extern int XCursesCOLS;
extern unsigned char *atrtab;
extern int display_sock;
extern int key_sock;
extern int display_sockets[2];
extern int key_sockets[2];
extern int exit_sock;
extern GC normal_gc, block_cursor_gc, rect_cursor_gc, italic_gc, border_gc;
extern int XCursesFontHeight, XCursesFontWidth;
@@ -315,7 +384,6 @@ extern XtResource app_resources[PDC_NUMBER_APP_RESOURCES];
extern XrmOptionDescRec options[PDC_NUMBER_OPTIONS];
extern char global_display_name[100];
extern Bool after_first_curses_request;
/* extern char *XCursesProgramName; */
extern int colors[(2 * MAX_COLORS) + 2];
extern int windowEntered;
extern int visible_cursor;

View File

@@ -19,9 +19,7 @@
#include <stdlib.h>
RCSID("$Id: x11.c,v 1.47 2006/07/02 08:17:21 wmcbrine Exp $");
extern AppData app_data;
RCSID("$Id: x11.c,v 1.48 2006/07/02 19:03:59 wmcbrine Exp $");
int visible_cursor = 0;
int windowEntered = 1;

View File

@@ -1,66 +0,0 @@
/* $Id: x11.h,v 1.9 2006/07/02 07:08:28 wmcbrine Exp $ */
void dummy_function(void);
void get_GC(Display *, Window, GC *, XFontStruct *, int, int, bool);
void makeXY(int, int, int, int, int *, int *);
int get_colors(void);
void start_event_handler(void);
int XCursesTransformLine(int, int, chtype, int, int, int, char *);
int XCursesDisplayText(const chtype *, int, int, int, bool);
void XCursesDisplayScreen(bool);
void XCursesDisplayCursor(int, int, int, int);
void XCursesStructureNotify(Widget, XtPointer, XEvent *, Boolean *);
void XCursesEnterLeaveWindow(Widget, XtPointer, XEvent *, Boolean *);
void XCursesPasteSelection(Widget, XButtonEvent *);
void XCursesHandleString(Widget, XEvent *, String *, Cardinal *);
void XCursesKeyPress(Widget, XEvent *, String *, Cardinal *);
void XCursesModifierPress(Widget, XEvent *, String *, Cardinal *);
void XCursesButton(Widget, XEvent *, String *, Cardinal *);
Boolean XCursesConvertProc(Widget, Atom *, Atom *, Atom *, XtPointer *,
unsigned long *, int *);
void XCursesLoseOwnership(Widget, Atom *);
void XCursesRequestorCallbackForPaste(Widget, XtPointer, Atom *, Atom *,
XtPointer, unsigned long *, int *);
void XCursesRequestorCallbackForGetSelection(Widget, XtPointer, Atom *, Atom *,
XtPointer, unsigned long *, int *);
RETSIGTYPE XCursesSignalHandler(int);
void XCursesExitXCursesProcess(int, int, char *);
void SelectionOff(void);
void SelectionOn(int, int);
void SelectionExtend(int, int);
void SelectionSet(void);
int write_socket(int, const char *, int);
int read_socket(int, char *, int);
int write_display_socket_int(int);
int XCursesSetupX(const char *display_name, int argc, char *argv[]);
RETSIGTYPE XCursesSigwinchHandler(int signo);
#ifdef _HPUX_SOURCE
# define FD_SET_CAST int *
#else
# define FD_SET_CAST fd_set *
#endif
extern fd_set readfds;
extern fd_set writefds;
extern struct timeval socket_timeout;
extern unsigned char *Xcurscr;
extern int XCursesProcess;
extern int shmidSP;
extern int shmid_Xcurscr;
extern int shmkeySP;
extern int shmkey_Xcurscr;
extern int otherpid;
extern int XCursesLINES;
extern int XCursesCOLS;
extern unsigned char *atrtab;
extern int display_sock;
extern int key_sock;
extern int display_sockets[2];
extern int key_sockets[2];
extern int exit_sock;

View File

@@ -22,42 +22,7 @@
#include <stdlib.h>
RCSID("$Id: x11curses.c,v 1.33 2006/07/02 08:17:21 wmcbrine Exp $");
extern AppData app_data;
static void XCursesExitCursesProcess(int, char *);
int XCursesResizeScreen(int nlines, int ncols)
{
PDC_LOG(("%s:XCursesResizeScreen() - called: Lines: %d Cols: %d\n",
XCLOGMSG, nlines, ncols));
shmdt((char *)Xcurscr);
XCursesInstructAndWait(CURSES_RESIZE);
if ((shmid_Xcurscr = shmget(shmkey_Xcurscr,
SP->XcurscrSize + XCURSESSHMMIN, 0700)) < 0)
{
perror("Cannot allocate shared memory for curscr");
kill(otherpid, SIGKILL);
return ERR;
}
XCursesLINES = SP->lines;
XCursesCOLS = SP->cols;
PDC_LOG(("%s:shmid_Xcurscr %d shmkey_Xcurscr %d SP->lines %d "
"SP->cols %d\n", XCLOGMSG, shmid_Xcurscr,
shmkey_Xcurscr, SP->lines, SP->cols));
Xcurscr = (unsigned char*)shmat(shmid_Xcurscr, 0, 0);
atrtab = (unsigned char *)(Xcurscr + XCURSCR_ATRTAB_OFF);
SP->resized = FALSE;
return OK;
}
RCSID("$Id: x11curses.c,v 1.34 2006/07/02 19:03:59 wmcbrine Exp $");
int XCurses_display_cursor(int oldrow, int oldcol, int newrow, int newcol,
int visibility)
@@ -100,24 +65,6 @@ int XCurses_display_cursor(int oldrow, int oldcol, int newrow, int newcol,
return OK;
}
void XCurses_set_title(const char *title)
{
int len;
PDC_LOG(("%s:XCurses_set_title() - called: TITLE: %s\n",
XCLOGMSG, title));
len = strlen(title) + 1; /* write nul character */
XCursesInstruct(CURSES_TITLE);
if (write_display_socket_int(len) >= 0)
if (write_socket(display_sock, title, len) >= 0)
return;
XCursesExitCursesProcess(1, "exiting from XCurses_set_title");
}
int XCurses_refresh_scrollbar(void)
{
PDC_LOG(("%s:XCurses_refresh_scrollbar() - called\n", XCLOGMSG));
@@ -183,15 +130,6 @@ int XCurses_rawgetch(void)
return key;
}
int XCurses_get_input_fd(void)
{
PDC_LOG(("%s:XCurses_get_input_fd() - called\n", XCLOGMSG));
PDC_LOG(("%s:XCurses_get_input_fd() - returning %i\n", XCLOGMSG,
key_sock));
return key_sock;
}
bool XCurses_kbhit(void)
{
int s;
@@ -252,31 +190,6 @@ int XCursesInstructAndWait(int flag)
return OK;
}
int XCurses_transform_line(const chtype *ch, int row,
int start_col, int num_cols)
{
PDC_LOG(("%s:XCurses_transform_line() called: row %d start_col %d "
"num_cols %d flag %d\n", XCLOGMSG, row, start_col,
num_cols, *(Xcurscr + XCURSCR_FLAG_OFF + row)));
/* loop until we can write to the line */
while (*(Xcurscr + XCURSCR_FLAG_OFF + row))
dummy_function();
*(Xcurscr + XCURSCR_FLAG_OFF + row) = 1;
memcpy(Xcurscr + XCURSCR_Y_OFF(row) + (start_col * sizeof(chtype)),
ch, num_cols * sizeof(chtype));
*(Xcurscr + XCURSCR_START_OFF + row) = start_col;
*(Xcurscr + XCURSCR_LENGTH_OFF + row) = num_cols;
*(Xcurscr + XCURSCR_FLAG_OFF + row) = 0;
return 0;
}
static int XCursesSetupCurses(void)
{
int wait_value;
@@ -412,85 +325,7 @@ int XCursesInitscr(const char *display_name, int argc, char *argv[])
return rc;
}
int XCurses_getclipboard(char **contents, long *length)
{
int result = 0;
int len;
PDC_LOG(("%s:XCurses_getclipboard() - called\n", XCLOGMSG));
XCursesInstructAndWait(CURSES_GET_SELECTION);
if (read_socket(display_sock, (char *)&result, sizeof(int)) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
if (result == PDC_CLIP_SUCCESS)
{
if (read_socket(display_sock, (char *)&len, sizeof(int)) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
if (len != 0)
{
*contents = (char *)malloc(len + 1);
if (!*contents)
XCursesExitCursesProcess(6, "exiting from "
"XCurses_getclipboard - synchronization error");
if (read_socket(display_sock, *contents, len) < 0)
XCursesExitCursesProcess(5,
"exiting from XCurses_getclipboard");
*length = len;
}
}
return result;
}
int XCurses_setclipboard(const char *contents, long length)
{
int rc;
PDC_LOG(("%s:XCurses_setclipboard() - called\n", XCLOGMSG));
XCursesInstruct(CURSES_SET_SELECTION);
/* Write, then wait for X to do its stuff; expect return code. */
if (write_socket(display_sock, (char *)&length, sizeof(long)) >= 0)
if (write_socket(display_sock, contents, length) >= 0)
if (read_socket(display_sock, (char *)&rc, sizeof(int)) >= 0)
return rc;
XCursesExitCursesProcess(5, "exiting from XCurses_setclipboard");
return ERR; /* not reached */
}
int XCurses_clearclipboard(void)
{
int rc;
long len = 0;
PDC_LOG(("%s:XCurses_clearclipboard() - called\n", XCLOGMSG));
XCursesInstruct(CURSES_CLEAR_SELECTION);
/* Write, then wait for X to do its stuff; expect return code. */
if (write_socket(display_sock, (char *)&len, sizeof(long)) >= 0)
if (read_socket(display_sock, (char *)&rc, sizeof(int)) >= 0)
return rc;
XCursesExitCursesProcess(5, "exiting from XCurses_clearclipboard");
return ERR; /* not reached */
}
void XCursesCleanupCursesProcess(int rc)
static void XCursesCleanupCursesProcess(int rc)
{
PDC_LOG(("%s:XCursesCleanupCursesProcess() - called: %d\n",
XCLOGMSG, rc));
@@ -508,7 +343,7 @@ void XCursesCleanupCursesProcess(int rc)
_exit(rc);
}
static void XCursesExitCursesProcess(int rc, char *msg)
void XCursesExitCursesProcess(int rc, char *msg)
{
PDC_LOG(("%s:XCursesExitCursesProcess() - called: %d %s\n",
XCLOGMSG, rc, msg));