https://bugs.gentoo.org/875437 diff -ru a/pgdispd/figcurs.c b/pgdispd/figcurs.c --- a/pgdispd/figcurs.c 2024-05-14 13:48:50.018175785 +0400 +++ b/pgdispd/figcurs.c 2024-05-14 13:43:58.801142627 +0400 @@ -55,8 +55,7 @@ /* Return Values: */ /* Whatever getcurs returns */ -int pggcurs(buf) -short *buf; +int pggcurs(short *buf) { int getcurs (); @@ -64,8 +63,7 @@ } #ifndef PGDISP -int bmgcurs(buf) -short *buf; +int bmgcurs(short *buf) { int getcurs (); @@ -79,10 +77,7 @@ /* 0 There are no cursor positions to return */ /* 1 The buffer was set properly */ -int getcurs(buf,curlist,listend) -short *buf; -struct curpos **curlist; -struct curpos **listend; +int getcurs(short *buf, struct curpos **curlist,struct curpos **listend) { struct curpos *tmpptr; @@ -106,8 +101,7 @@ /* on the line graphics window. */ /* Return Value: 1 (no matter what) */ -int pgcursor(event) -XEvent event; +int pgcursor(XEvent event) { short val; /* the "value" of the event" */ @@ -159,8 +153,7 @@ /* on the bitmap graphics window. */ /* Return Value: 1 (no matter what) */ -int bmcursor(event) -XEvent event; +int bmcursor(XEvent event) { short val; /* The value associated with the cursor event */ @@ -211,9 +204,7 @@ /* The getbuttonval routine updates val to correspond to the appropriate */ /* keypress. */ -void getbuttonval(button,val) -unsigned int button; -short *val; +void getbuttonval(unsigned int button, short *val) { switch(button) { @@ -244,9 +235,7 @@ /* 0 A modifier key was pressed */ /* 1 A regular key was pressed */ -int getkeyval(event,val) -XEvent event; -short *val; +int getkeyval(XEvent event, short *val) { char tmpchr; KeySym keysym; @@ -264,8 +253,7 @@ /* cursor events and does not do anything visible unless this position is */ /* different than the previousrecorded line graphics cursor location. */ -void pgscurs(x,y) -int x,y; +void pgscurs(int x, int y) { if (lgcurses != NULL) return; @@ -285,8 +273,7 @@ /* position is different than the previous recorded line graphics cursor */ /* location. */ -void bmscurs(x,y) -int x,y; +void bmscurs(int x, int y) { if (bmcurses != NULL) return; diff -ru a/pgdispd/getcolors.c b/pgdispd/getcolors.c --- a/pgdispd/getcolors.c 2024-05-14 13:23:54.984716132 +0400 +++ b/pgdispd/getcolors.c 2024-05-14 13:34:48.860787865 +0400 @@ -30,17 +30,20 @@ static int rovis[]={TrueColor, StaticColor, StaticGray}; static int nrovis=sizeof(rovis)/sizeof(rovis[0]); -int getcolors(vistype, visual, cmap, pix, maxcolors, mincolors, depth, - maxdepth, mindepth) -int vistype; /* The type of visual to use */ -Visual **visual; /* The visual actually used */ -Colormap *cmap; /* The color map actually used */ -unsigned long *pix; /* The pixels allocated */ -int maxcolors; /* The maximum number of colors to allocate */ -int mincolors; /* The minimum number of colors to allocate */ -int *depth; /* The depth of the visual actually used */ -int maxdepth; /* The maximum allowed visual depth */ -int mindepth; /* The minimum allowed visual depth */ +int getcolors(int vistype, Visual **visual, Colormap *cmap, + unsigned long *pix, int maxcolors, int mincolors, + int *depth,int maxdepth, int mindepth) +/* +int vistype; The type of visual to use +Visual **visual; The visual actually used +Colormap *cmap; The color map actually used +unsigned long *pix; The pixels allocated +int maxcolors; The maximum number of colors to allocate +int mincolors; The minimum number of colors to allocate +int *depth; The depth of the visual actually used +int maxdepth; The maximum allowed visual depth +int mindepth; The minimum allowed visual depth +*/ { XVisualInfo vinfo; /* The template for our visual */ unsigned long pmtmp[1]; /* temporary for plane masks */ diff -ru a/pgdispd/getdata.c b/pgdispd/getdata.c --- a/pgdispd/getdata.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/getdata.c 2024-05-14 13:46:09.874257376 +0400 @@ -36,13 +36,13 @@ #include "messages.h" -int getdata(event,rbuf,rbuflen,srcwin,selset) -XSelectionEvent event; /* the event we're handling */ -short *rbuf; /* a return buffer, if needed */ -int *rbuflen; /* the length of the return buffer. If it's 0, no return */ +int getdata(XSelectionEvent event, short *rbuf, int *rbuflen, Window srcwin, int *selset) +/*XSelectionEvent event; the event we're handling */ +/*short *rbuf; a return buffer, if needed */ +/*int *rbuflen; the length of the return buffer. If it's 0, no return */ /* message should be sent. */ -Window srcwin; /* the source of our data */ -int *selset; /* whether or not the selection is owned by a user program */ +/*Window srcwin; the source of our data */ +/*int *selset; whether or not the selection is owned by a user program */ { short *buffer; /* buffer for the data received */ /* the max buffer length (in 16-bit words) */ diff -ru a/pgdispd/getvisuals.c b/pgdispd/getvisuals.c --- a/pgdispd/getvisuals.c 2024-05-14 13:23:54.984716132 +0400 +++ b/pgdispd/getvisuals.c 2024-05-14 13:39:07.775108180 +0400 @@ -34,6 +34,10 @@ #define MAX_DEPTH 24 /* the maximum visual depth to use */ +extern int getcolors(int vistype, Visual **visual, Colormap *cmap, + unsigned long *pix, int maxcolors, int mincolors, + int *depth, int maxdepth, int mindepth); + int getvisuals() { int i; /* Silly loop variable */ @@ -277,10 +281,10 @@ if ((bm.colors=getcolors(UseDefaultCmap, &bitvisual, &bitcmap, bm.pix, res.maxcolors+res.leavecolors, res.mincolors+res.leavecolors, - &bitdepth)) + &bitdepth, MAX_DEPTH, 1)) || (bm.colors=getcolors(UseRWVisual, &bitvisual, &bitcmap, bm.pix, res.maxcolors+res.savecolors, res.mincolors+res.savecolors, - &bitdepth))) + &bitdepth, MAX_DEPTH, 1))) { /* success! */ if (bitcmap == DefaultColormap(display, screen)) { @@ -323,7 +327,7 @@ while (res.lgcolors > 2) { if (lg.colors=getcolors(UseROVisual, &linevisual, &linecmap, - lg.pix, res.lgcolors, res.lgcolors, &linedepth)) break; + lg.pix, res.lgcolors, res.lgcolors, &linedepth,MAX_DEPTH, 1)) break; /* lower our standards */ if (res.lgcolors > 16) res.lgcolors=16; diff -ru a/pgdispd/handlexevent.c b/pgdispd/handlexevent.c --- a/pgdispd/handlexevent.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/handlexevent.c 2024-05-14 13:49:17.490990237 +0400 @@ -46,12 +46,15 @@ #include "globals.h" #include "messages.h" +extern int pggcurs(short *buf); +extern int getdata(XSelectionEvent event, short *rbuf, int *rbuflen, Window srcwin, int *selset); +extern int pgcursor(XEvent event); + int luttransoff=0; int modluttransoff=0; -int handlexevent(event,go_on) -XEvent event; -int *go_on; /* whether the calling routine shoudl exit successfully */ +int handlexevent(XEvent event,int *go_on) +/* *go_on; whether the calling routine shoudl exit successfully */ { #ifndef PGDISP static int slitxs= -1,slitys; /* the starting point for the slit */ diff -ru a/pgdispd/mainloop.c b/pgdispd/mainloop.c --- a/pgdispd/mainloop.c 2024-05-14 13:23:54.984716132 +0400 +++ b/pgdispd/mainloop.c 2024-05-14 13:41:28.880155175 +0400 @@ -58,6 +58,9 @@ #include "figdisp.h" #include "globals.h" +extern int waitevent(); +int handlexevent(XEvent event,int *go_on); + int mainloop() { XEvent event; /* the current event */ diff -ru a/pgdispd/pgdisp.c b/pgdispd/pgdisp.c --- a/pgdispd/pgdisp.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/pgdisp.c 2024-05-14 13:27:23.658462490 +0400 @@ -43,9 +43,12 @@ #undef DEFINE_GLOBALS #undef INC_HEADER_RCS -int main(argc,argv) -int argc; -char **argv; +extern int initlock(); +extern int getvisuals(); +extern int initlgwin(); +extern int mainloop(); + +int main(int argc,char **argv) { Display *XOpenDisplay(); diff -ru a/pgdispd/proccom.c b/pgdispd/proccom.c --- a/pgdispd/proccom.c 2024-05-14 13:23:54.984716132 +0400 +++ b/pgdispd/proccom.c 2024-05-14 13:44:27.000952169 +0400 @@ -117,11 +117,13 @@ /* A trivial macro */ #define min(x,y) (((x) > (y)) ? (y) : (x)) -int proccom(buf,len,retbuf,retbuflen) -unsigned short *buf; /* the buffer of commands and arguments */ -int len; /* the length of the buffer */ -unsigned short *retbuf; /* a buffer for return values */ -int *retbuflen; /* the length of retbuf */ +extern int pggcurs(short *buf); + +int proccom(unsigned short *buf, int len, unsigned short *retbuf, int *retbuflen) +/*unsigned short *buf; the buffer of commands and arguments */ +/*int len; the length of the buffer */ +/*unsigned short *retbuf; a buffer for return values */ +/*int *retbuflen; the length of retbuf */ { static short bufcont[7]; /* the buffer contents while we're */ /* working on things */ diff -ru a/pgdispd/resdb.c b/pgdispd/resdb.c --- a/pgdispd/resdb.c 2024-05-14 13:23:54.984716132 +0400 +++ b/pgdispd/resdb.c 2024-05-14 13:29:59.091528701 +0400 @@ -371,7 +371,7 @@ char *strtype[20]; XrmValue value; int flags; - char resource[80]; + char resource[180]; (void)sprintf(resource, "%s.bm.geometry", prog); if (XrmGetResource(resdb, resource, "*Geometry", strtype, &value) diff -ru a/pgdispd/returnbuf.c b/pgdispd/returnbuf.c --- a/pgdispd/returnbuf.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/returnbuf.c 2024-05-14 13:47:02.256903591 +0400 @@ -15,10 +15,10 @@ #include #include -void returnbuf(msg,len,destwin) -short *msg; /* the message to send to the client. */ -int len; /* The length of the message. */ -Window destwin; /* The window who's atom should be changed. */ +void returnbuf(short *msg, int len, Window destwin) +/*short *msg; the message to send to the client. */ +/*int len; The length of the message. */ +/*Window destwin; The window who's atom should be changed. */ { /* If the window is still around, then send the reply */ if (selset) XChangeProperty(display,destwin,selatom,XA_STRING,8, diff -ru a/pgdispd/updatelgtitle.c b/pgdispd/updatelgtitle.c --- a/pgdispd/updatelgtitle.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/updatelgtitle.c 2024-05-14 13:42:06.519900960 +0400 @@ -15,6 +15,7 @@ #include "globals.h" #include #include +#include void updatelgtitle(x,y) int x,y; /* cursor position */ @@ -28,7 +29,7 @@ int i; #ifndef _AIX - char *sprintf(); +// char *sprintf(); #endif /* make sure we don't confuse anything. */ diff -ru a/pgdispd/waitevent.c b/pgdispd/waitevent.c --- a/pgdispd/waitevent.c 2024-05-14 13:23:54.985716126 +0400 +++ b/pgdispd/waitevent.c 2024-05-14 13:47:12.777832534 +0400 @@ -63,6 +63,9 @@ #define SELECT /* Use the select call to wait */ #endif +extern int proccom(unsigned short *buf, int len, unsigned short *retbuf, int *retbuflen); +void returnbuf(short *msg, int len, Window destwin); + int waitevent() { short retbuf;