[packages/dx] - some type fixes for gcc 15
qboosh
qboosh at pld-linux.org
Fri Feb 6 18:22:08 CET 2026
commit 356f92a2ebddff410dd34f6ff767320f5c6756ca
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Feb 6 18:22:18 2026 +0100
- some type fixes for gcc 15
dx-types.patch | 2618 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 2618 insertions(+)
---
diff --git a/dx-types.patch b/dx-types.patch
new file mode 100644
index 0000000..c5e85cb
--- /dev/null
+++ b/dx-types.patch
@@ -0,0 +1,2618 @@
+--- dx-4.4.4/include/dx/hash.h.orig 2000-08-24 17:03:22.000000000 +0200
++++ dx-4.4.4/include/dx/hash.h 2026-02-01 15:53:22.504174809 +0100
+@@ -70,7 +70,7 @@ typedef Pointer Key;
+ typedef Pointer Element;
+
+ HashTable DXCreateHash(int elementSize,
+- PseudoKey (*DXhashFunc)(), int (*DXcmpFunc)());
++ PseudoKey (*DXhashFunc)(Key), int (*DXcmpFunc)(Key, Element));
+ /**
+ \index{DXCreateHash}
+ Creates a hash table storing elements (key + data) of size {\tt elementSize}.
+--- dx-4.4.4/src/exec/libdx/client.c.orig 2005-12-30 21:39:16.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/client.c 2026-02-01 15:43:16.867571182 +0100
+@@ -136,9 +136,6 @@ int DXConnectToServer(char *host, int pp
+ #endif
+ struct hostent *hp;
+ int length;
+-#ifndef DXD_HAS_WINSOCKETS
+- struct hostent *gethostbyname();
+-#endif
+ ushort port = pport;
+
+ #if DXD_SOCKET_UNIXDOMAIN_OK
+--- dx-4.4.4/src/exec/libdx/hash.c.orig 2005-12-26 18:19:33.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/hash.c 2026-02-01 15:52:58.934047537 +0100
+@@ -108,8 +108,8 @@ struct hashTable
+ int getNextPage;
+ int getNextElement;
+
+- PseudoKey ( *hash ) ();
+- int ( *cmp ) ();
++ PseudoKey ( *hash ) (Key);
++ int ( *cmp ) (Key, Element);
+
+ #ifdef STATS
+ int nInserts, nCollisions;
+@@ -168,7 +168,7 @@ static void _freeElement( PageTable *, H
+
+
+ HashTable
+-DXCreateHash( int dataSize, PseudoKey ( *hash ) (), int ( *cmp ) () )
++DXCreateHash( int dataSize, PseudoKey ( *hash ) (Key), int ( *cmp ) (Key, Element) )
+ {
+ HashTable hashTable;
+
+@@ -271,7 +271,7 @@ DXInsertHashElement( HashTable hashTable
+ {
+ PseudoKey pseudoKey;
+ int status;
+- PseudoKey ( *hash ) ();
++ PseudoKey ( *hash ) (Key);
+
+ #ifdef STATS
+ hashTable->nInserts ++;
+@@ -374,8 +374,8 @@ _QueryHashElement( HashTable hashTable,
+ Leaf leaf;
+ int slot, start, found;
+ HashElement element;
+- PseudoKey ( *hash ) ();
+- int ( *cmp ) ();
++ PseudoKey ( *hash ) (Key);
++ int ( *cmp ) (Key, Element);
+
+ cmp = hashTable->cmp;
+ hash = hashTable->hash;
+@@ -652,7 +652,7 @@ _InsertHashLeaf( HashTable hashTable, Ps
+ int slot, start;
+ int found;
+ HashElement element;
+- int ( *cmp ) ();
++ int ( *cmp ) (Key, Element);
+
+ cmp = hashTable->cmp;
+ start = LEAF_INDEX( pseudoKey );
+--- dx-4.4.4/src/exec/libdx/lbextract.c.orig 2003-07-12 02:12:09.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/lbextract.c 2026-02-01 16:04:14.021027679 +0100
+@@ -188,9 +188,10 @@ CONVTYPE(uint, double)
+ CONVTYPE(float, double)
+
+
++typedef Error (*ConvFunc)(int, void *, void *);
+ struct convtable {
+ int conversion; /* convert flags */
+- Error (*convfunc)(); /* convert routine */
++ ConvFunc convfunc; /* convert routine */
+ /* parms are: (int count, Pointer from, Pointer to); */
+ int hascommon; /* has common representation? */
+ Type commontype; /* smallest common representation */
+@@ -268,27 +269,27 @@ static struct convtable typetable[NUM_TY
+ /* from BYTE */ /* to ... */
+ { { CONV_EQUAL, NULL, HAS_COMMON, TYPE_BYTE }, /* BYTE */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* UBYTE */
+- { CONV_ALLOWED, byte2short, HAS_COMMON, TYPE_SHORT }, /* SHORT */
++ { CONV_ALLOWED, (ConvFunc)byte2short, HAS_COMMON, TYPE_SHORT }, /* SHORT */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* USHORT */
+- { CONV_ALLOWED, byte2int, HAS_COMMON, TYPE_INT }, /* INT */
++ { CONV_ALLOWED, (ConvFunc)byte2int, HAS_COMMON, TYPE_INT }, /* INT */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, NO_COMMON, TYPE_BYTE }, /* UHYPER */
+- { CONV_ALLOWED, byte2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, byte2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)byte2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)byte2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from UBYTE */ /* to ... */
+ { { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* BYTE */
+ { CONV_EQUAL, NULL, HAS_COMMON, TYPE_UBYTE }, /* UBYTE */
+- { CONV_ALLOWED, ubyte2short, HAS_COMMON, TYPE_SHORT }, /* SHORT */
+- { CONV_ALLOWED, ubyte2ushort, HAS_COMMON, TYPE_USHORT }, /* USHORT */
+- { CONV_ALLOWED, ubyte2int, HAS_COMMON, TYPE_INT }, /* INT */
+- { CONV_ALLOWED, ubyte2uint, HAS_COMMON, TYPE_UINT }, /* UINT */
++ { CONV_ALLOWED, (ConvFunc)ubyte2short, HAS_COMMON, TYPE_SHORT }, /* SHORT */
++ { CONV_ALLOWED, (ConvFunc)ubyte2ushort, HAS_COMMON, TYPE_USHORT }, /* USHORT */
++ { CONV_ALLOWED, (ConvFunc)ubyte2int, HAS_COMMON, TYPE_INT }, /* INT */
++ { CONV_ALLOWED, (ConvFunc)ubyte2uint, HAS_COMMON, TYPE_UINT }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, /* UHYPER */
+- { CONV_ALLOWED, ubyte2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, ubyte2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)ubyte2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)ubyte2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from SHORT */ /* to ... */
+@@ -296,12 +297,12 @@ static struct convtable typetable[NUM_TY
+ { CONV_ILLEGAL, NULL, HAS_COMMON, TYPE_SHORT }, /* UBYTE */
+ { CONV_EQUAL, NULL, HAS_COMMON, TYPE_SHORT }, /* SHORT */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* USHORT */
+- { CONV_ALLOWED, short2int, HAS_COMMON, TYPE_INT }, /* INT */
++ { CONV_ALLOWED, (ConvFunc)short2int, HAS_COMMON, TYPE_INT }, /* INT */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, NO_COMMON, TYPE_BYTE }, /* UHYPER */
+- { CONV_ALLOWED, short2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, short2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)short2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)short2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from USHORT */ /* to ... */
+@@ -309,12 +310,12 @@ static struct convtable typetable[NUM_TY
+ { CONV_ILLEGAL, NULL, HAS_COMMON, TYPE_USHORT }, /* UBYTE */
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* SHORT */
+ { CONV_EQUAL, NULL, HAS_COMMON, TYPE_USHORT }, /* USHORT */
+- { CONV_ALLOWED, ushort2int, HAS_COMMON, TYPE_INT }, /* INT */
+- { CONV_ALLOWED, ushort2uint, HAS_COMMON, TYPE_UINT }, /* UINT */
++ { CONV_ALLOWED, (ConvFunc)ushort2int, HAS_COMMON, TYPE_INT }, /* INT */
++ { CONV_ALLOWED, (ConvFunc)ushort2uint, HAS_COMMON, TYPE_UINT }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, /* UHYPER */
+- { CONV_ALLOWED, ushort2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, ushort2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)ushort2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)ushort2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from INT */ /* to ... */
+@@ -326,8 +327,8 @@ static struct convtable typetable[NUM_TY
+ { CONV_ILLEGAL, NULL, NO_COMMON, TYPE_BYTE }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, NO_COMMON, TYPE_BYTE }, /* UHYPER */
+- { CONV_ALLOWED, int2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, int2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)int2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)int2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from UINT */ /* to ... */
+@@ -339,8 +340,8 @@ static struct convtable typetable[NUM_TY
+ { CONV_EQUAL, NULL, HAS_COMMON, TYPE_UINT }, /* UINT */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_HYPER }, /* HYPER */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, /* UHYPER */
+- { CONV_ALLOWED, uint2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, uint2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)uint2float, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
++ { CONV_ALLOWED, (ConvFunc)uint2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from HYPER */ /* to ... */
+@@ -379,7 +380,7 @@ static struct convtable typetable[NUM_TY
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_FLOAT }, /* HYPER */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_FLOAT }, /* UHYPER */
+ { CONV_EQUAL, NULL, HAS_COMMON, TYPE_FLOAT }, /* FLOAT */
+- { CONV_ALLOWED, float2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
++ { CONV_ALLOWED, (ConvFunc)float2double, HAS_COMMON, TYPE_DOUBLE }, /* DOUBLE */
+ { CONV_NOTIMPL, NULL, HAS_COMMON, TYPE_XXXX }, }, /* LDOUBLE */
+
+ /* from DOUBLE */ /* to ... */
+--- dx-4.4.4/src/exec/libdx/lbtask.c.orig 2006-01-05 23:55:48.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/lbtask.c 2026-02-01 16:06:14.805013702 +0100
+@@ -52,7 +52,7 @@
+ #define HZ 100
+ #endif
+
+-typedef Error (*PFE)();
++typedef Error (*PFE)(Pointer);
+
+ /*
+ * Task tracing
+@@ -467,7 +467,7 @@ DXAbortTaskGroup(void)
+ */
+
+ Error
+-_dxf_ExRunOn(int pid, Error (*func)(), Pointer arg, int size)
++_dxf_ExRunOn(int pid, Error (*func)(Pointer), Pointer arg, int size)
+ {
+ DXCreateTaskGroup();
+ DXAddTask(func, arg, size, 1.0);
+@@ -475,7 +475,7 @@ _dxf_ExRunOn(int pid, Error (*func)(), P
+ }
+
+ Error
+-_dxf_ExRunOnAll(Error (*func)(), Pointer arg, int size)
++_dxf_ExRunOnAll(Error (*func)(Pointer), Pointer arg, int size)
+ {
+ int i;
+
+--- dx-4.4.4/src/exec/libdx/outglue.c.orig 2006-01-05 23:55:49.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/outglue.c 2026-02-01 16:29:56.709358791 +0100
+@@ -40,9 +40,6 @@
+ #include <sys/filio.h>
+ #endif
+
+-typedef Error (*PFE)();
+-typedef int (*PFI)();
+-
+ #if DXD_NEEDS_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+@@ -54,10 +51,10 @@ typedef int (*PFI)();
+ #define FALSE 0
+ #endif
+
+-Error _dxf_RegisterInputHandler (PFE proc, int fd, Pointer arg);
++Error _dxf_RegisterInputHandler (Error (*proc)(int, Pointer), int fd, Pointer arg);
+
+ int _dxd_exOutboard = FALSE;
+-PFE _dxd_registerIHProc = _dxf_RegisterInputHandler;
++Error(*_dxd_registerIHProc)(Error (*)(int, Pointer), int, Pointer) = _dxf_RegisterInputHandler;
+
+ extern Object _dxfExportBin_FP(Object o, int fd);
+ extern Object _dxfImportBin_FP(int fd);
+@@ -188,7 +185,7 @@ Error datafromhost (int dxfd, Pointer ar
+ }
+
+
+-Error DXCallOutboard (PFE m, int dxfd)
++Error DXCallOutboard (Error (*m)(Object *, Object *), int dxfd)
+ {
+ static int firsttime = 1;
+ Array oarr;
+@@ -246,7 +243,7 @@ Error DXCallOutboard (PFE m, int dxfd)
+ count = 3;
+ for (i=0; i<nin; i++)
+ {
+- if (iptr[i] == (int)NULL)
++ if (iptr[i] == 0)
+ continue;
+
+ ilist[i] = DXGetEnumeratedMember(iobj, count++, NULL);
+@@ -434,7 +431,7 @@ Error DXGetInputs(Object *in, int dxfd)
+ count = 3;
+ for (i=0; i<nin; i++)
+ {
+- if (iptr[i] == (int)NULL)
++ if (iptr[i] == 0)
+ continue;
+
+ in[i] = DXGetEnumeratedMember(iobj, count++, NULL);
+@@ -587,8 +584,8 @@ finish_up:
+
+ typedef struct
+ {
+- PFE proc;
+- PFI check;
++ Error (*proc)(int, Pointer);
++ int (*check)(int, Pointer);
+ int flag;
+ int fd;
+ Pointer arg;
+--- dx-4.4.4/src/exec/libdx/notify.c.orig 2005-12-30 21:41:01.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/notify.c 2026-02-01 16:31:47.229955358 +0100
+@@ -85,7 +85,7 @@ delete_table(Pointer p)
+ }
+
+ static PseudoKey
+-hash(Entry key)
++hash(Key key)
+ {
+ char *name = ((struct _entry *) key)->name;
+ long l, i, s=0;
+@@ -94,7 +94,7 @@ hash(Entry key)
+ }
+
+ static int
+-cmp(Entry k0, Entry k1)
++cmp(Key k0, Element k1)
+ {
+ char *n0 = ((struct _entry *) k0)->name;
+ char *n1 = ((struct _entry *) k1)->name;
+--- dx-4.4.4/src/exec/libdx/class.awk.orig 2000-06-12 07:45:26.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/class.awk 2026-02-01 18:39:57.981263964 +0100
+@@ -155,7 +155,10 @@ BEGIN {
+ #
+ method = $i
+ n = method_number[class method]
+- class_vector[class n] = "_dxf" class "_" method
++ cast = "(" returns[method] " (*)(" argtype[method 0]
++ for (k=1; k< nargs[method]; k++) cast = cast ", " argtype[method k]
++ cast = cast "))"
++ class_vector[class n] = cast "_dxf" class "_" method
+
+ if (do_h) {
+ #
+@@ -275,6 +278,8 @@ END {
+ for (j=f; j<nv; j++) {
+ method = method_name[class j]
+ printf(" %s (*%s)(", returns[method], method)
++ printf("%s", argtype[method 0])
++ for (k=1; k<nargs[method]; k++) printf(",%s", argtype[method k]);
+ printf(");\n")
+ }
+ printf("};\n")
+--- dx-4.4.4/src/exec/libdx/local.mk.in.orig 2003-07-12 02:12:11.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/local.mk.in 2026-02-01 19:00:43.734599158 +0100
+@@ -8,7 +8,7 @@
+
+ buffer.c: ${srcdir}/buffer.Z
+ sed -e 's/[ ][ ]*\$$/ $$/' ${srcdir}/buffer.Z > __buffer.c
+- @CPP@ __buffer.c | tr -s "\044" "\012" | sed -e '/^#/d' -e 's/INCLUDE2/#include/' -e 's/^pragma/#pragma/' > buffer.c
++ @CPP@ -DNeedFunctionPrototypes=1 __buffer.c | tr -s "\044" "\012" | sed -e '/^#/d' -e 's/INCLUDE2/#include/' -e 's/^pragma/#pragma/' > buffer.c
+ rm -f __buffer.c
+
+ lbshade.c: ${srcdir}/lbshade.Z
+--- dx-4.4.4/src/exec/libdx/buffer.Z.orig 2006-01-05 23:55:46.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/buffer.Z 2026-02-01 19:09:58.737573474 +0100
+@@ -139,6 +139,7 @@ _dxf_InitBuffer(struct buffer *b, enum p
+ }
+
+
++typedef struct _XDisplay Display;
+ extern int XImageByteOrder(
+ #if NeedFunctionPrototypes
+ Display* /* display */
+--- dx-4.4.4/src/exec/libdx/fieldinterp.c.orig 2003-07-12 02:12:09.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/fieldinterp.c 2026-02-01 19:18:38.717027476 +0100
+@@ -16,8 +16,8 @@
+ #include "dx/dx.h"
+ #include "fieldinterpClass.h"
+
+-typedef int (*PFI)();
+-typedef FieldInterpolator (*PFFI)();
++typedef int (*PFI)(Field);
++typedef FieldInterpolator (*PFFI)(Field, enum interp_init, double, Matrix *);
+
+ int _dxfRecognizeTetras(Field);
+ PFFI _dxfNewTetrasInterpolator(Field, enum interp_init, double, Matrix *);
+--- dx-4.4.4/src/exec/libdx/callm_xinit.c.orig 2000-06-12 07:45:26.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/callm_xinit.c 2026-02-01 19:22:54.565065610 +0100
+@@ -20,9 +20,9 @@ typedef Error (*PFE)();
+ #undef String
+ #undef Screen
+
+-extern PFE _dxd_registerIHProc;
++extern Error (*_dxd_registerIHProc)(Error (*)(int, Pointer), int, Pointer);
+ static XtAppContext appcontext = NULL;
+-Error _dxf_RegisterInputHandlerX(PFE func, int fd, Pointer arg);
++Error _dxf_RegisterInputHandlerX(Error (*func)(int, Pointer), int fd, Pointer arg);
+
+ void DXInitializeXMainLoop(XtAppContext app)
+ {
+--- dx-4.4.4/src/exec/libdx/memory.c.orig 2026-02-01 19:10:13.960988411 +0100
++++ dx-4.4.4/src/exec/libdx/memory.c 2026-02-01 19:32:36.014840890 +0100
+@@ -1869,8 +1869,8 @@ Error DXTraceAlloc(int t)
+ /* executive routines - currently internal entry points. these should
+ * be formalized and exposed as part of libdx
+ */
+-extern Error _dxf_ExRunOn(int pid, Error (*func)(), Pointer arg, int size);
+-extern Error _dxf_ExRunOnAll(Error (*func)(), Pointer arg, int size);
++extern Error _dxf_ExRunOn(int pid, Error (*func)(Pointer), Pointer arg, int size);
++extern Error _dxf_ExRunOnAll(Error (*func)(Pointer), Pointer arg, int size);
+
+
+ /*
+@@ -2028,11 +2028,11 @@ DXPrintLocalAlloc(int which, int how)
+
+ /* arrange to run on correct processor here */
+ if (which < 0) {
+- _dxf_ExRunOnAll(aprint_local_wrapper, &how, sizeof(int));
++ _dxf_ExRunOnAll((Error(*)(Pointer))aprint_local_wrapper, &how, sizeof(int));
+ return;
+ }
+
+- _dxf_ExRunOn(which+1, aprint_local_wrapper, &how, sizeof(int));
++ _dxf_ExRunOn(which+1, (Error(*)(Pointer))aprint_local_wrapper, &how, sizeof(int));
+ }
+
+
+--- dx-4.4.4/src/exec/dxmods/fourier.c.orig 2006-01-03 18:02:22.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/fourier.c 2026-02-01 20:19:39.386633596 +0100
+@@ -111,30 +111,30 @@ static Error W4 (WorkerData *arg, int id
+
+ static Error W5 (XFData *arg, int id);
+
+-static void fft_trig (/*t, logn, inv*/);
++static void fft_trig (complex_t *, int, int);
+ #if 0
+ register complex_t *t;
+ register int logn;
+ register int inv;
+ #endif
+-static void fft_brev (/*b, logn*/);
++static void fft_brev (int *, int);
+ #if 0
+ register int *b;
+ register int logn;
+ #endif
+-static void fft (/*c, logn, trig, brev*/);
++static void fft (complex_t *, int, complex_t *, int *);
+ #if 0
+ register complex_t *c;
+ register int logn;
+ register complex_t *trig;
+ register int *brev;
+ #endif
+-static void fft_norm (/*c, logn*/);
++static void fft_norm (complex_t *, int);
+ #if 0
+ register complex_t *c;
+ register int logn;
+ #endif
+-static void dft (/*n, from, to, inv*/);
++static void dft (int, complex_t *, complex_t *, int);
+ #if 0
+ int n;
+ register complex_t *from;
+@@ -843,7 +843,7 @@ W5 (XFData *arg, int id)
+ if (logs != -1)
+ {
+ fft_brev (brev, logs);
+- fft_trig (trig, logs, larg.args.inverse);
++ fft_trig ((complex_t *)trig, logs, larg.args.inverse);
+ }
+
+ for (i = id; i < n; i += larg.procs)
+@@ -876,13 +876,13 @@ W5 (XFData *arg, int id)
+
+ if (logs != -1)
+ {
+- fft (data, logs, trig, brev);
++ fft ((complex_t *)data, logs, (complex_t *)trig, brev);
+ if (larg.args.inverse)
+- fft_norm (data, logs);
++ fft_norm ((complex_t *)data, logs);
+ }
+ else
+ {
+- dft (s, data, trig, larg.args.inverse);
++ dft (s, (complex_t *)data, (complex_t *)trig, larg.args.inverse);
+ }
+
+ if (larg.dim == 2 && larg.args.center && larg.args.inverse)
+--- dx-4.4.4/src/exec/dxmods/maptoplane.c.orig 2003-07-12 02:12:06.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/maptoplane.c 2026-02-01 20:20:33.570257764 +0100
+@@ -38,7 +38,7 @@ END:
+ #include "bounds.h"
+ #include "vectors.h"
+
+-static Error map_normal ();
++static Error map_normal (float *, Object);
+
+ int m_MapToPlane (in, out)
+ Object *in;
+--- dx-4.4.4/src/exec/dxmods/measure.c.orig 2005-12-31 00:02:32.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/measure.c 2026-02-01 21:17:06.868457698 +0100
+@@ -133,8 +133,9 @@ DXMeasure(Object object, char *what)
+
+ }
+
+-typedef float (*PFF)();
+-typedef Error (*PFE)();
++typedef Error (*PFE)(Object, Segments *, float *);
++typedef Error (*FieldMethod)(Field, Segments *, float *);
++typedef Error (*CFieldMethod)(int, Segments *, float *);
+
+ typedef struct
+ {
+@@ -169,8 +170,8 @@ typedef struct
+ {
+ char *etype;
+ int what;
+- PFE fMethod;
+- PFE cfMethod;
++ FieldMethod fMethod;
++ CFieldMethod cfMethod;
+ int growFlag;
+ } MethodTableEntry;
+
+@@ -197,7 +198,7 @@ static MethodTableEntry methodTable[] =
+ };
+
+ static Error
+-GetMethods(Object o, int what, PFE *fieldMethod, PFE *cfieldMethod, int *gFlag)
++GetMethods(Object o, int what, FieldMethod *fieldMethod, CFieldMethod *cfieldMethod, int *gFlag)
+ {
+ Class class = DXGetObjectClass(o);
+ if (class == CLASS_GROUP)
+@@ -325,7 +326,7 @@ MeasureObject(Object object, int what)
+ {
+ case CLASS_FIELD:
+ {
+- PFE task;
++ FieldMethod task;
+
+ if (DXEmptyField((Field)workCopy))
+ {
+@@ -390,7 +391,8 @@ MeasureObject(Object object, int what)
+ MeasureTaskArgs args;
+ Object child;
+ int i;
+- PFE ftask, ctask;
++ FieldMethod ftask;
++ CFieldMethod ctask;
+ int growFlag;
+
+ if (! GetMethods(workCopy, what, &ftask, &ctask, &growFlag))
+@@ -432,7 +434,7 @@ MeasureObject(Object object, int what)
+ args.what = what;
+ args.measure = measureTable + i;
+ args.segs = segments + i;
+- args.task = ftask;
++ args.task = (PFE)ftask;
+
+ if (! DXAddTask(MeasureTask,(Pointer)&args, sizeof(args), 1.0))
+ {
+@@ -2473,7 +2475,7 @@ MeasureElements_Field(Field f)
+ Array pA, cA, dA = NULL;
+ int pd, nm;
+ ArrayHandle pH = NULL, cH = NULL;
+- PFE mth;
++ Error (*mth)(ArrayHandle, ArrayHandle, float *, int);
+ dependency dep;
+
+ pA = (Array)DXGetComponentValue(f, "positions");
+--- dx-4.4.4/src/exec/dxmods/partition.c.orig 2005-12-31 00:03:17.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/partition.c 2026-02-01 21:18:30.132237275 +0100
+@@ -14,7 +14,7 @@
+ #include <string.h>
+ #endif
+
+-extern void _dxfPermute(); /* from libdx/permute.c */
++extern void _dxfPermute(int, unsigned char *, int *, int *, int, unsigned char *, int *); /* from libdx/permute.c */
+ Object DXObjectPartition(Object, int, int);
+
+ /* default number of partitions if number of processors > 1
+--- dx-4.4.4/src/exec/dxmods/ribbon.c.orig 2000-08-24 22:04:46.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/ribbon.c 2026-02-01 21:19:56.282698989 +0100
+@@ -17,7 +17,7 @@
+ #include <math.h>
+ #include <dx/dx.h>
+
+-static Error ribbon_width ();
++static Error ribbon_width (Object, float *);
+
+ int m_Ribbon (in, out)
+ Object *in;
+--- dx-4.4.4/src/exec/dxmods/_getfield.h.orig 2001-04-06 18:59:15.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/_getfield.h 2026-02-01 21:22:20.306804204 +0100
+@@ -86,8 +86,9 @@ typedef struct _attribute_info
+
+
+ /* ------------------------------------------------------------------------- */
+-typedef struct _array_info
+-{
++typedef struct _array_info *array_info;
++
++struct _array_info {
+ /*
+ * array base class
+ *
+@@ -114,14 +115,13 @@ typedef struct _array_info
+ Pointer data; /* DXGetArrayData */
+ int itemsize; /* DXGetItemSize */
+ int original_items; /* DXQueryOriginalSizes (from DXGrow) */
+- Error (*get_item) (); /* ( int, array_info, Pointer ); */
++ Error (*get_item) (int, array_info, Pointer);
+ ArrayHandle handle; /* DXCreateArrayHandle */
+ /* requires component 'class' information to work */
+ #if 0
+ Pointer data_local; /* DXGetArrayDataLocal */
+ #endif
+-}
+-*array_info;
++};
+
+
+ /* ------------------------------------------------------------------------- */
+--- dx-4.4.4/src/exec/dxmods/showboundary.c.orig 2006-07-06 00:56:37.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/showboundary.c 2026-02-01 21:32:59.150231396 +0100
+@@ -1669,6 +1669,8 @@ MultiGrid regular_boundary ( field_info
+
+
+
++typedef Error (*NeighborFunc)(int, array_info, mesh_bounds, int *);
++
+ static
+ Field irregular_boundary
+ ( field_info input_info, InvalidComponentHandle i_handle )
+@@ -1692,7 +1694,7 @@ Field irregular_boundary
+
+ int flip=0;
+
+- Error (*get_neighbor)() = NULL;
++ NeighborFunc get_neighbor;
+
+ /* duplicated out of _helper_jea.h */
+
+@@ -1746,8 +1748,8 @@ Field irregular_boundary
+
+ switch ( input_info->std_comps[(int)CONNECTIONS]->element_type )
+ {
+- case QUADRILATERALS: get_neighbor = _dxf_get_neighb_grid_QUADS; break;
+- case CUBES: get_neighbor = _dxf_get_neighb_grid_CUBES; break;
++ case QUADRILATERALS: get_neighbor = (NeighborFunc)_dxf_get_neighb_grid_QUADS; break;
++ case CUBES: get_neighbor = (NeighborFunc)_dxf_get_neighb_grid_CUBES; break;
+ default: break;
+ }
+ }
+@@ -1785,7 +1787,7 @@ Field irregular_boundary
+ else \
+ for ( i=0; i<c_info->items; i++ ) \
+ if ( !DXIsElementInvalid ( i_handle, i ) ) { \
+- if ( !get_neighbor ( i, c_info, bptr, &neighb ) ) \
++ if ( !get_neighbor ( i, c_info, (mesh_bounds)bptr, (int *)&neighb ) ) \
+ goto error;\
+ else \
+ for ( j=0; j<N_NEIGHB; j++ ) \
+@@ -1912,7 +1914,7 @@ nC_out,k,((int *) data) [nC_out*N_CONN_O
+ } else { \
+ for ( i=0; i<c_info->items; i++ ) \
+ if ( !DXIsElementInvalid ( i_handle, i ) ) { \
+- if ( !get_neighbor ( i, c_info, bptr, &neighb ) ) \
++ if ( !get_neighbor ( i, c_info, (mesh_bounds)bptr, (int *)&neighb ) ) \
+ goto error; \
+ else \
+ for ( j=0; j<N_NEIGHB; j++ ) \
+--- dx-4.4.4/src/exec/dxmods/streamline.c.orig 2026-02-01 19:10:14.020988733 +0100
++++ dx-4.4.4/src/exec/dxmods/streamline.c 2026-02-01 21:38:33.262024785 +0100
+@@ -443,12 +443,12 @@ Streamline(VectorField vf, /* Vector fi
+ double t, t2, elapsedtime;
+ int nDim;
+ int done, keepPoint;
+- Error (*Interpolate)();
+- Error (*StepTime)();
+- Error (*FindBoundary)();
+- int (*Neighbor)();
+- int (*Weights)();
+- int (*FaceWeights)();
++ Error (*Interpolate)(InstanceVars, POINT_TYPE *, VECTOR_TYPE *);
++ Error (*StepTime)(InstanceVars, double, VECTOR_TYPE *, double *);
++ Error (*FindBoundary)(InstanceVars, POINT_TYPE *, VECTOR_TYPE *, double *);
++ int (*Neighbor)(InstanceVars, VECTOR_TYPE *);
++ int (*Weights)(InstanceVars, POINT_TYPE *);
++ int (*FaceWeights)(InstanceVars, POINT_TYPE *);
+ Field field = NULL;
+ int i, totKnt, zeroKnt, streamKnt;
+ InstanceVars I = NULL;
+--- dx-4.4.4/src/exec/dxmods/tube.c.orig 2000-08-24 22:04:54.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/tube.c 2026-02-01 21:40:58.676138648 +0100
+@@ -18,8 +18,8 @@
+ #include <dx/dx.h>
+ #include "_autocolor.h"
+
+-static Error tube_diameter();
+-static Error tube_ngon();
++static Error tube_diameter(Object, float *);
++static Error tube_ngon(Object, int *);
+
+ int m_Tube(in, out)
+ Object *in;
+--- dx-4.4.4/src/exec/dxmods/_divcurl.c.orig 2006-01-05 23:55:42.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/_divcurl.c 2026-02-01 21:43:00.840127712 +0100
+@@ -666,7 +666,7 @@ static Error
+ _dxfDivCurlIrregular(Field field)
+ {
+ Array pA = NULL, cA = NULL, dA = NULL, curlA = NULL, divA = NULL;
+- void (*elementMethod)() = NULL;
++ void (*elementMethod)(ArrayHandle, Pointer, Type, float *, float *, byte *, int *) = NULL;
+ Object attr;
+ int pDim, nVperE, nPoints, nElements, eDim = 0;
+ Type dataType;
+--- dx-4.4.4/src/exec/dxmods/_getfield.c.orig 2006-07-11 22:44:18.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/_getfield.c 2026-02-02 17:29:20.310280828 +0100
+@@ -113,6 +113,7 @@ NEW_ALLO ( ALLO_field_info, field_in
+
+ /* ----------------------------- "New" section ----------------------------- */
+
++typedef Error (*GetItemProc)(int, array_info, Pointer);
+
+ static
+ array_info in_memory_array ( Array input, array_info output )
+@@ -982,7 +983,7 @@ Error _dxf_FreeInMemory ( field_info inp
+
+ component_info _dxf_SetIterator ( component_info input )
+ {
+- Error (*get_item) () = NULL;
++ GetItemProc get_item = NULL;
+
+ DXASSERTGOTO ( ERROR != input );
+ DXASSERTGOTO ( ERROR != ((array_info)&input->array)->array );
+@@ -1005,11 +1006,11 @@ component_info _dxf_SetIterator ( compon
+ switch ( ((array_info)&input->array)->shape[0] )
+ {
+ case 1:
+- get_item = _dxf_get_point_grid_1D; break;
++ get_item = (GetItemProc)_dxf_get_point_grid_1D; break;
+ case 2:
+- get_item = _dxf_get_point_grid_2D; break;
++ get_item = (GetItemProc)_dxf_get_point_grid_2D; break;
+ case 3:
+- get_item = _dxf_get_point_grid_3D; break;
++ get_item = (GetItemProc)_dxf_get_point_grid_3D; break;
+ default:
+ DXErrorGoto3
+ ( ERROR_NOT_IMPLEMENTED,
+@@ -1026,9 +1027,9 @@ component_info _dxf_SetIterator ( compon
+ case CLASS_ARRAY:
+ switch ( ((array_info)&input->array)->shape[0] )
+ {
+- case 1: get_item = _dxf_get_point_irr_1D; break;
+- case 2: get_item = _dxf_get_point_irr_2D; break;
+- case 3: get_item = _dxf_get_point_irr_3D; break;
++ case 1: get_item = (GetItemProc)_dxf_get_point_irr_1D; break;
++ case 2: get_item = (GetItemProc)_dxf_get_point_irr_2D; break;
++ case 3: get_item = (GetItemProc)_dxf_get_point_irr_3D; break;
+ default:
+ DXErrorGoto3
+ ( ERROR_NOT_IMPLEMENTED,
+@@ -1051,14 +1052,14 @@ component_info _dxf_SetIterator ( compon
+ case CLASS_MESHARRAY:
+ switch ( ((mesh_array_info)&input->array)->grid )
+ {
+- case TTRUE: get_item = _dxf_get_conn_grid_LINES;
++ case TTRUE: get_item = (GetItemProc)_dxf_get_conn_grid_LINES;
+ break;
+
+ default:;
+ }
+ break;
+
+- case CLASS_ARRAY: get_item = _dxf_get_conn_irr_LINES;
++ case CLASS_ARRAY: get_item = (GetItemProc)_dxf_get_conn_irr_LINES;
+ break;
+
+ default:;
+@@ -1071,14 +1072,14 @@ component_info _dxf_SetIterator ( compon
+ case CLASS_MESHARRAY:
+ switch ( ((mesh_array_info)&input->array)->grid )
+ {
+- case TTRUE: get_item = _dxf_get_conn_grid_QUADS;
++ case TTRUE: get_item = (GetItemProc)_dxf_get_conn_grid_QUADS;
+ break;
+
+ default:;
+ }
+ break;
+
+- case CLASS_ARRAY: get_item = _dxf_get_conn_irr_QUADS;
++ case CLASS_ARRAY: get_item = (GetItemProc)_dxf_get_conn_irr_QUADS;
+ break;
+
+ default:;
+@@ -1086,7 +1087,7 @@ component_info _dxf_SetIterator ( compon
+ break;
+
+ case TRIANGLES:
+- get_item = _dxf_get_conn_irr_TRIS;
++ get_item = (GetItemProc)_dxf_get_conn_irr_TRIS;
+ break;
+
+ case CUBES:
+@@ -1095,7 +1096,7 @@ component_info _dxf_SetIterator ( compon
+ case CLASS_MESHARRAY:
+ switch ( ((mesh_array_info)&input->array)->grid )
+ {
+- case TTRUE: get_item = _dxf_get_conn_grid_CUBES;
++ case TTRUE: get_item = (GetItemProc)_dxf_get_conn_grid_CUBES;
+ break;
+
+ default:;
+@@ -1103,7 +1104,7 @@ component_info _dxf_SetIterator ( compon
+ break;
+
+ case CLASS_ARRAY:
+- get_item = _dxf_get_conn_irr_CUBES;
++ get_item = (GetItemProc)_dxf_get_conn_irr_CUBES;
+ break;
+
+ default:;
+@@ -1111,7 +1112,7 @@ component_info _dxf_SetIterator ( compon
+ break;
+
+ case TETRAHEDRA:
+- get_item = _dxf_get_conn_irr_TETS;
++ get_item = (GetItemProc)_dxf_get_conn_irr_TETS;
+ break;
+
+ case PRISMS:
+@@ -1122,7 +1123,7 @@ component_info _dxf_SetIterator ( compon
+ ( ((array_info)&input->array)->array )) ) )
+ goto error;
+
+- get_item = _dxf_get_conn_irr_PRSMS;
++ get_item = (GetItemProc)_dxf_get_conn_irr_PRSMS;
+ break;
+
+ case CUBES4D:
+@@ -1158,7 +1159,7 @@ component_info _dxf_SetIterator ( compon
+ if ( NULL == get_item ) {
+ if ( ERROR != ( ((array_info)&input->array)->handle
+ = DXCreateArrayHandle ( ((array_info)&input->array)->array )) )
+- get_item = _dxf_get_item_by_handle;
++ get_item = (GetItemProc)_dxf_get_item_by_handle;
+ else
+ goto error;
+ }
+@@ -1176,7 +1177,7 @@ component_info _dxf_SetIterator ( compon
+
+ component_info _dxf_SetIterator_i ( component_info input )
+ {
+- Error (*get_item) () = NULL;
++ GetItemProc get_item = NULL;
+
+ DXASSERTGOTO ( ERROR != input );
+ DXASSERTGOTO ( ERROR != ((array_info)&input->array)->array );
+@@ -1198,23 +1199,23 @@ component_info _dxf_SetIterator_i ( comp
+ case CLASS_REGULARARRAY:
+ switch ( ((array_info)&input->array)->type )
+ {
+- case TYPE_FLOAT: get_item = _dxf_get_data_reg_FLOAT;
++ case TYPE_FLOAT: get_item = (GetItemProc)_dxf_get_data_reg_FLOAT;
+ break;
+- case TYPE_BYTE: get_item = _dxf_get_data_reg_BYTE;
++ case TYPE_BYTE: get_item = (GetItemProc)_dxf_get_data_reg_BYTE;
+ break;
+- case TYPE_DOUBLE: get_item = _dxf_get_data_reg_DOUBLE;
++ case TYPE_DOUBLE: get_item = (GetItemProc)_dxf_get_data_reg_DOUBLE;
+ break;
+- case TYPE_HYPER: get_item = _dxf_get_data_reg_HYPER;
++ case TYPE_HYPER: get_item = (GetItemProc)_dxf_get_data_reg_HYPER;
+ break;
+- case TYPE_INT: get_item = _dxf_get_data_reg_INT;
++ case TYPE_INT: get_item = (GetItemProc)_dxf_get_data_reg_INT;
+ break;
+- case TYPE_SHORT: get_item = _dxf_get_data_reg_SHORT;
++ case TYPE_SHORT: get_item = (GetItemProc)_dxf_get_data_reg_SHORT;
+ break;
+- case TYPE_UBYTE: get_item = _dxf_get_data_reg_UBYTE;
++ case TYPE_UBYTE: get_item = (GetItemProc)_dxf_get_data_reg_UBYTE;
+ break;
+- case TYPE_UINT: get_item = _dxf_get_data_reg_UINT;
++ case TYPE_UINT: get_item = (GetItemProc)_dxf_get_data_reg_UINT;
+ break;
+- case TYPE_USHORT: get_item = _dxf_get_data_reg_USHORT;
++ case TYPE_USHORT: get_item = (GetItemProc)_dxf_get_data_reg_USHORT;
+ break;
+ default: break;
+ }
+@@ -1223,23 +1224,23 @@ component_info _dxf_SetIterator_i ( comp
+ case CLASS_ARRAY:
+ switch ( ((array_info)&input->array)->type )
+ {
+- case TYPE_FLOAT: get_item = _dxf_get_data_irr_FLOAT;
++ case TYPE_FLOAT: get_item = (GetItemProc)_dxf_get_data_irr_FLOAT;
+ break;
+- case TYPE_BYTE: get_item = _dxf_get_data_irr_BYTE;
++ case TYPE_BYTE: get_item = (GetItemProc)_dxf_get_data_irr_BYTE;
+ break;
+- case TYPE_DOUBLE: get_item = _dxf_get_data_irr_DOUBLE;
++ case TYPE_DOUBLE: get_item = (GetItemProc)_dxf_get_data_irr_DOUBLE;
+ break;
+- case TYPE_HYPER: get_item = _dxf_get_data_irr_HYPER;
++ case TYPE_HYPER: get_item = (GetItemProc)_dxf_get_data_irr_HYPER;
+ break;
+- case TYPE_INT: get_item = _dxf_get_data_irr_INT;
++ case TYPE_INT: get_item = (GetItemProc)_dxf_get_data_irr_INT;
+ break;
+- case TYPE_SHORT: get_item = _dxf_get_data_irr_SHORT;
++ case TYPE_SHORT: get_item = (GetItemProc)_dxf_get_data_irr_SHORT;
+ break;
+- case TYPE_UBYTE: get_item = _dxf_get_data_irr_UBYTE;
++ case TYPE_UBYTE: get_item = (GetItemProc)_dxf_get_data_irr_UBYTE;
+ break;
+- case TYPE_UINT: get_item = _dxf_get_data_irr_UINT;
++ case TYPE_UINT: get_item = (GetItemProc)_dxf_get_data_irr_UINT;
+ break;
+- case TYPE_USHORT: get_item = _dxf_get_data_irr_USHORT;
++ case TYPE_USHORT: get_item = (GetItemProc)_dxf_get_data_irr_USHORT;
+ break;
+ default: break;
+ }
+--- dx-4.4.4/src/exec/dxmods/_gradient.c.orig 2000-08-24 22:04:12.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/_gradient.c 2026-02-02 17:32:48.268043620 +0100
+@@ -921,7 +921,7 @@ static Error
+ _dxfGradientIrregular(Field field)
+ {
+ Array pA = NULL, cA = NULL, dA = NULL, gA = NULL;
+- void (*elementMethod)() = NULL;
++ void (*elementMethod)(ArrayHandle, Pointer, Type, float *, byte *, int *, int) = NULL;
+ Object attr;
+ int pDim, nVperE, nPoints, nElements;
+ Type dataType;
+--- dx-4.4.4/src/exec/dxmods/_grid.c.orig 2026-02-01 19:10:14.020988733 +0100
++++ dx-4.4.4/src/exec/dxmods/_grid.c 2026-02-02 17:56:35.452183918 +0100
+@@ -27,17 +27,17 @@ typedef struct
+ Array cons;
+ } GridOutputs;
+
+-static Error grid_point ();
+-static Error grid_line ();
+-static Error grid_rectangle ();
+-static Error grid_crosshair ();
+-static Error grid_ellipse ();
+-static Error grid_brick ();
+-static Error generate_crosshair_pos ();
+-static Error generate_ellipse_pos ();
+-static Error generate_crosshair_cons ();
+-static Error generate_ellipse_cons ();
+-static Error generate_field ();
++static Error grid_point (float *, int, Object *);
++static Error grid_line (float *, float *, int *, int, Object *);
++static Error grid_rectangle (float *, float *, int *, int, Object *);
++static Error grid_crosshair (float *, float *, int *, int, Object *);
++static Error grid_ellipse (float *, float *, int *, int, Object *);
++static Error grid_brick (float *, float *, int *, int, Object *);
++static Error generate_crosshair_pos (float *, float *, int *, float *, float *);
++static Error generate_ellipse_pos (float *, float *, float *, int *, int);
++static Error generate_crosshair_cons (int *, int *);
++static Error generate_ellipse_cons (int *, int *);
++static Error generate_field (char *, Array, Array, Object *);
+ /* CLEANUP FOR apos AND acons FOR ALL FUNCTIONS OCCURS IN generate_field() */
+
+ int _dxfGrid (float *point, char *structure, float *shape, int *density,
+--- dx-4.4.4/src/exec/dxmods/_isosurface.c.orig 2026-02-02 21:35:44.144696379 +0100
++++ dx-4.4.4/src/exec/dxmods/_isosurface.c 2026-02-02 21:35:48.928055068 +0100
+@@ -5739,6 +5739,8 @@ Field create_iso_surface
+ }
+
+
++typedef Field (*CreateFunc) (field_info, float *, int, ...);
++typedef Error (*ConvertFunc) (Pointer, float[], hash_table_ptr, hash_table_ptr, int);
+
+ static
+ Error isosurface_field
+@@ -5759,8 +5761,8 @@ Error isosurface_field
+ field_info input_info = NULL;
+ array_info d_info = NULL;
+
+- Field (*create_output) () = NULL;
+- Error (*convert_connection) () = NULL;
++ CreateFunc create_output = NULL;
++ ConvertFunc convert_connection = NULL;
+
+ #ifdef WHITEBOX_TEST
+ for ( i=0; i<8; i++ ) histograms.polygonalizations[i] = 0;
+@@ -5830,33 +5832,33 @@ Error isosurface_field
+ switch ( input_info->std_comps[(int)CONNECTIONS]->element_type )
+ {
+ case LINES:
+- create_output = create_iso_points;
++ create_output = (CreateFunc)create_iso_points;
+ convert_connection = NULL;
+ break;
+
+ case QUADRILATERALS:
+- create_output = create_iso_contours;
+- convert_connection = iso_convert_quadrilateral;
++ create_output = (CreateFunc)create_iso_contours;
++ convert_connection = (ConvertFunc)iso_convert_quadrilateral;
+ break;
+
+ case TRIANGLES:
+- create_output = create_iso_contours;
+- convert_connection = iso_convert_triangle;
++ create_output = (CreateFunc)create_iso_contours;
++ convert_connection = (ConvertFunc)iso_convert_triangle;
+ break;
+
+ case CUBES:
+- create_output = create_iso_surface;
+- convert_connection = iso_convert_cube;
++ create_output = (CreateFunc)create_iso_surface;
++ convert_connection = (ConvertFunc)iso_convert_cube;
+ break;
+
+ case TETRAHEDRA:
+- create_output = create_iso_surface;
+- convert_connection = iso_convert_tetrahedron;
++ create_output = (CreateFunc)create_iso_surface;
++ convert_connection = (ConvertFunc)iso_convert_tetrahedron;
+ break;
+
+ case PRISMS:
+- create_output = create_iso_surface;
+- convert_connection = iso_convert_prism;
++ create_output = (CreateFunc)create_iso_surface;
++ convert_connection = (ConvertFunc)iso_convert_prism;
+ break;
+
+ case CUBES4D:
+@@ -5875,18 +5877,18 @@ Error isosurface_field
+ switch ( input_info->std_comps[(int)CONNECTIONS]->element_type )
+ {
+ case LINES:
+- create_output = create_band_lines;
+- convert_connection = band_convert_line;
++ create_output = (CreateFunc)create_band_lines;
++ convert_connection = (ConvertFunc)band_convert_line;
+ break;
+
+ case QUADRILATERALS:
+- create_output = create_band_surface;
+- convert_connection = band_convert_quadrilateral;
++ create_output = (CreateFunc)create_band_surface;
++ convert_connection = (ConvertFunc)band_convert_quadrilateral;
+ break;
+
+ case TRIANGLES:
+- create_output = create_band_surface;
+- convert_connection = band_convert_triangle;
++ create_output = (CreateFunc)create_band_surface;
++ convert_connection = (ConvertFunc)band_convert_triangle;
+ break;
+
+ case CUBES:
+@@ -5915,7 +5917,7 @@ Error isosurface_field
+ ( input_info,
+ &values[i],
+ is_grown,
+- convert_connection,
++ (ConvertFunc)convert_connection,
+ out_h[i] );
+
+ if ( DXGetError() != ERROR_NONE )
+--- dx-4.4.4/src/exec/dxmods/_refinetopo.c.orig 2006-07-10 23:39:58.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/_refinetopo.c 2026-02-02 21:39:24.625865136 +0100
+@@ -31,7 +31,7 @@
+ static Object ChgTopologyObject(Object, int);
+ static Error ChgTopologyField(Pointer);
+
+-typedef Field (*PFF)();
++typedef Field (*PFF)(Field);
+
+ static Field None2None(Field);
+
+--- dx-4.4.4/src/exec/dxmods/_sample.c.orig 2026-02-02 21:46:13.801367482 +0100
++++ dx-4.4.4/src/exec/dxmods/_sample.c 2026-02-02 21:46:18.414725271 +0100
+@@ -58,8 +58,8 @@ error:
+ return NULL;
+ }
+
+-typedef float (*PFF)();
+-typedef Error (*PFE)();
++typedef float (*PFF)(float **, int);
++typedef Error (*PFE)(Field, int, Array);
+
+ typedef struct
+ {
+@@ -1770,9 +1770,9 @@ static Field CreateOutputIrreg(Field, S
+ static Field CreateOutputPolylines(Field, SegList *, SegList *);
+ static Field CreateOutputFaces(Field, SegList *, SegList *);
+
+-static Error PlanarSurface(Field, int, int (*inside)(), int, Array);
+-static Error CurvedSurface(Field, int, int (*inside)(), int, Array);
+-static Error Volume(Field, int, int (*inside)(), int, Array);
++static Error PlanarSurface(Field, int, int (*inside)(float *, float **, float *), int, Array);
++static Error CurvedSurface(Field, int, int (*inside)(float *, float **, float *), int, Array);
++static Error Volume(Field, int, int (*inside)(float *, float **, float *), int, Array);
+
+ static PFE
+ _dxfGetSampleMethod(Field field)
+@@ -1978,7 +1978,7 @@ typedef struct
+
+ static Error
+ PlanarSurface(Field field, int vPerE,
+- int (*inside)(),
++ int (*inside)(float *, float **, float *),
+ int nSamples, Array grid)
+ {
+ Array a_connections, a_positions;
+@@ -2276,7 +2276,7 @@ error:
+
+ static Error
+ CurvedSurface(Field field,
+- int vPerE, int (*inside)(),
++ int vPerE, int (*inside)(float *, float **, float *),
+ int nSamples, Array grid)
+ {
+ Array a_connections, a_positions;
+@@ -2611,7 +2611,7 @@ error:
+
+ static Error
+ Volume(Field field,
+- int vPerE, int (*inside)(),
++ int vPerE, int (*inside)(float *, float **, float *),
+ int nSamples, Array grid)
+ {
+ Array a_connections, a_positions;
+--- dx-4.4.4/src/exec/dxmods/genimp_parse.c.orig 2002-03-21 18:10:00.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/genimp_parse.c 2026-02-02 21:51:51.729824902 +0100
+@@ -81,7 +81,7 @@ static Error get_type(struct parse_state
+
+ struct parameter{
+ char name[32];
+- int (* getInfo)();
++ int (* getInfo)(struct parse_state *);
+ int flags;
+ };
+
+@@ -118,7 +118,7 @@ static struct parameter para[] =
+ { "header", infoHeader, 0},
+ { "interleaving", infoInterleaving, 0},
+ { "block", infoBlock, 0},
+- { "positions", infoPositions, 0},
++ { "positions", (int (*)(struct parse_state *))infoPositions, 0},
+ { "points", infoPoints, 0},
+ { "dependency", infoDepend, 0},
+ { "recordseparator", infoRecSeparat, 0},
+@@ -201,7 +201,7 @@ _dxf_gi_InputInfoTable(char *table, char
+ i = NUM_PARS; /* Exit for loop */
+ } else {
+ if (i==PARAM_Positions){
+- if(!(* para[i].getInfo)(&ps,&dataps))
++ if(!((int (*)(struct parse_state *, struct place_state *))(* para[i].getInfo))(&ps,&dataps))
+ goto parse_error;
+ }
+ else
+--- dx-4.4.4/src/exec/dxmods/superwinX.c.orig 2002-03-21 18:10:06.000000000 +0100
++++ dx-4.4.4/src/exec/dxmods/superwinX.c 2026-02-03 19:00:54.121155934 +0100
+@@ -23,8 +23,8 @@ extern void DXFree(void *); /* from lib
+ extern int DXRegisterWindowHandlerWithCheckProcWithCheckProc(int (*proc)(int, void *), /* from libdx/xwindow.c */
+ int (*check)(int, void *), Display *, void *);
+
+-extern int DXRegisterWindowHandlerWithCheckProc(); /* from libdx/xwindow.c */
+-extern int DXReadyToRun(); /* from libdx/outglue.c */
++extern int DXRegisterWindowHandlerWithCheckProc(Error (*)(int, Pointer), int (*)(int, Pointer), Display *, Pointer); /* from libdx/xwindow.c */
++extern int DXReadyToRun(Pointer); /* from libdx/outglue.c */
+
+
+ struct _iwx
+--- dx-4.4.4/src/exec/dxmods/tracevisual.c.orig 2003-07-12 02:12:06.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/tracevisual.c 2026-02-03 19:04:35.815666763 +0100
+@@ -139,7 +139,7 @@ static Error memsee(int blocktype, Point
+ static Error memsee1(int blocktype, Pointer start, ulong size, Pointer p);
+ static Error memquery(int blocktype, Pointer start, ulong size, Pointer p);
+
+-void _dxf_sigcatch();
++void _dxf_sigcatch(int);
+ #define NSECONDS 2 /* automatic update */
+
+
+@@ -883,7 +883,7 @@ error:
+ }
+
+
+-void _dxf_sigcatch()
++void _dxf_sigcatch(int unused)
+ {
+ if (d_small)
+ report_memory(d_small);
+--- dx-4.4.4/src/exec/dxmods/dxlinnamed.c.orig 2000-08-24 22:04:28.000000000 +0200
++++ dx-4.4.4/src/exec/dxmods/dxlinnamed.c 2026-02-03 19:07:05.249796223 +0100
+@@ -63,7 +63,7 @@ m_DXLInputNamed(Object *in, Object *out)
+ args[0] = NAME;
+ args[1] = NULL;
+
+- if (! _dxf_ExRunOn(1, _getv, (Pointer)args, 0))
++ if (! _dxf_ExRunOn(1, (Error (*)(Pointer))_getv, (Pointer)args, 0))
+ {
+ DXSetError(ERROR_INTERNAL, "_getv");
+ return ERROR;
+@@ -103,7 +103,7 @@ m_SetDXLInputNamed(Object *in, Object *o
+ args[0] = NAME;
+ args[1] = VALUE;
+
+- if (! _dxf_ExRunOn(1, _setv, (Pointer)args, 0))
++ if (! _dxf_ExRunOn(1, (Error (*)(Pointer))_setv, (Pointer)args, 0))
+ {
+ DXSetError(ERROR_INTERNAL, "_setv");
+ return ERROR;
+--- dx-4.4.4/src/exec/dpexec/parse.h.orig 2026-02-03 19:11:01.154387275 +0100
++++ dx-4.4.4/src/exec/dpexec/parse.h 2026-02-03 21:54:41.477067627 +0100
+@@ -110,7 +110,7 @@ typedef struct
+ struct node *out; /* output formals */
+ union {
+ struct node *stmt; /* macro definition */
+- PFI func; /* code pointer */
++ int (*func)(Object *, Object *); /* code pointer */
+ } def;
+ /* hidden inputs, before and/or after the list the user knows about */
+ int prehidden; /* hidden inputs before */
+@@ -380,8 +380,8 @@ void _dxf_ExEvaluateConstants (int);
+ void _dxf_ExEvalConstant (node *n);
+
+ /* for starting a task on one or all processors. private to the exec */
+-Error _dxf_ExRunOnAll (PFE func, Pointer arg, int size);
+-Error _dxf_ExRunOn (int JID, PFE func, Pointer arg, int size);
++Error _dxf_ExRunOnAll (Error (*func)(Pointer), Pointer arg, int size);
++Error _dxf_ExRunOn (int JID, Error (*func)(Pointer), Pointer arg, int size);
+
+ /*
+ * Parsing Variables
+--- dx-4.4.4/src/exec/hwrender/opengl/hwPortUtilOGL.c.orig 2006-06-26 23:28:54.000000000 +0200
++++ dx-4.4.4/src/exec/hwrender/opengl/hwPortUtilOGL.c 2026-02-03 19:15:41.239213872 +0100
+@@ -57,7 +57,7 @@ Based on hwrender/gl/hwPortUtil.c
+
+ static void loadTexture(xfieldP);
+ static void startTexture(xfieldP);
+-static void endTexture();
++static void endTexture(void);
+
+ static int doesTrans;
+ /* screen door half-transparency pattern */
+@@ -1729,7 +1729,7 @@ Error _dxf_DrawTranslucentOGL(void *glob
+ goto error;
+
+ if(xf->texture)
+- endTexture(xf);
++ endTexture();
+
+ _dxf_SET_GLOBAL_LIGHT_ATTRIBUTES(PORT_CTX ,0) ;
+ _dxf_POP_MATRIX(PORT_CTX) ;
+@@ -1931,7 +1931,7 @@ Error _dxf_DrawOpaqueOGL(tdmPortHandleP
+ OGL_FAIL_ON_ERROR(Back);
+ /* done: */
+ if(xf->texture)
+- endTexture(xf);
++ endTexture();
+
+ /*
+ * Disable lighting, reset matrix stack
+--- dx-4.4.4/src/exec/hwrender/hwPortLayer.h.orig 2006-06-29 18:05:13.000000000 +0200
++++ dx-4.4.4/src/exec/hwrender/hwPortLayer.h 2026-02-03 19:39:52.863625934 +0100
+@@ -257,7 +257,7 @@ typedef struct tdmPortHandleS {
+ void* dpy;
+ tdmDrawPortP portFuncs;
+ tdmInteractorEchoP echoFuncs;
+- void (*uninitP)();
++ void (*uninitP)(tdmPortHandleP);
+ void* private;
+ } tdmPortHandleT;
+
+--- dx-4.4.4/src/exec/hwrender/hwObject.h.orig 2002-10-29 23:37:32.000000000 +0100
++++ dx-4.4.4/src/exec/hwrender/hwObject.h 2026-02-03 19:42:59.697959325 +0100
+@@ -55,7 +55,7 @@ typedef dxObject gatherO;
+ typedef dxObject translationO;
+ typedef dxObject materialO;
+
+-dxObject _dxf_newHwObject(hwClass class, Pointer item, Error (*delete)());
++dxObject _dxf_newHwObject(hwClass class, Pointer item, Error (*delete)(Pointer));
+ Error _dxf_deleteHwObject(Pointer p);
+ Pointer _dxf_getHwObjectData(dxObject p);
+ hwClass _dxf_getHwClass(dxObject p);
+--- dx-4.4.4/src/exec/hwrender/hwObject.c.orig 2002-10-29 23:37:28.000000000 +0100
++++ dx-4.4.4/src/exec/hwrender/hwObject.c 2026-02-03 19:43:49.404892056 +0100
+@@ -14,7 +14,7 @@
+
+
+ dxObject
+-_dxf_newHwObject(hwClass class, Pointer item, Error (*delete)())
++_dxf_newHwObject(hwClass class, Pointer item, Error (*delete)(Pointer))
+ {
+ hwObjectP gPriv;
+
+--- dx-4.4.4/src/exec/hwrender/hwPortHandle.c.orig 2003-07-12 02:12:07.000000000 +0200
++++ dx-4.4.4/src/exec/hwrender/hwPortHandle.c 2026-02-03 20:25:44.588368950 +0100
+@@ -43,10 +43,10 @@
+ extern tdmInteractorEchoP _dxf_initInteractorEchoPort ();
+
+ #if defined(DX_NATIVE_WINDOWS)
+-int _dxfHWload(tdmPortHandleP (**initPP)(char*,void(*)(tdmPortHandleP)));
++int _dxfHWload(tdmPortHandleP (**initPP)(char*));
+ #else
+ int
+-_dxfHWload(tdmPortHandleP (**initPP)(Display*, char*,void(*)(tdmPortHandleP)), Display *);
++_dxfHWload(tdmPortHandleP (**initPP)(Display*, char*), Display *);
+ #endif
+
+
+@@ -99,10 +99,10 @@ _dxfNewPortHandle(tdmParsedFormatP forma
+ */
+
+ tdmPortHandleP ret = NULL;
+- tdmPortHandleP (*_initP)();
+
+
+ #if defined(DX_NATIVE_WINDOWS)
++ tdmPortHandleP (*_initP)(char *);
+
+ if (! _dxfHWload(&_initP))
+ goto error;
+@@ -111,6 +111,7 @@ _dxfNewPortHandle(tdmParsedFormatP forma
+ goto error;
+
+ #else
++ tdmPortHandleP (*_initP)(Display *, char *);
+
+ ENTRY(("_dxfNewPortHandle(0x%x, 0x%x)", format, dpy));
+
+--- dx-4.4.4/src/exec/hwrender/hwInteractor.h.orig 2026-02-03 21:19:55.399183100 +0100
++++ dx-4.4.4/src/exec/hwrender/hwInteractor.h 2026-02-03 21:19:57.705862154 +0100
+@@ -133,8 +133,8 @@ struct tdmInteractorS {
+ void (*EchoFunc) (tdmInteractor, void *, float[4][4], int) ;
+ void (*Destroy) (tdmInteractor) ;
+
+- void (*Config)() ; /* parameters vary: beware type conversions */
+- void (*restoreConfig)() ; /* parameters vary: beware type conversions */
++ void (*Config)(tdmInteractor, ...) ; /* parameters vary: beware type conversions */
++ void (*restoreConfig)(tdmInteractor, ...) ; /* parameters vary: beware type conversions */
+
+ tdmInteractorWin cdata ; /* pointer to common data */
+ void *pdata ; /* pointer to private data */
+--- dx-4.4.4/src/exec/hwrender/hwRotateInteractor.c.orig 2026-02-03 21:20:09.902594315 +0100
++++ dx-4.4.4/src/exec/hwrender/hwRotateInteractor.c 2026-02-03 21:20:13.652614452 +0100
+@@ -68,7 +68,7 @@ static void orbitFrom (float R[4][4], fl
+ * Null functions
+ */
+
+-static void NullFunction()
++static void NullFunction(tdmInteractor, ...)
+ {
+ }
+
+@@ -127,7 +127,7 @@ _dxfCreateRotationInteractor(tdmInteract
+ FUNC(I, EndStroke) = EndStroke ;
+ FUNC(I, ResumeEcho) = ResumeEcho ;
+ FUNC(I, Destroy) = Destroy ;
+- FUNC(I, restoreConfig) = RestoreConfig ;
++ FUNC(I, restoreConfig) = (void (*)(tdmInteractor, ...))RestoreConfig ;
+
+ switch (M)
+ {
+@@ -144,7 +144,7 @@ _dxfCreateRotationInteractor(tdmInteract
+ {
+ case tdmGlobeEcho:
+ FUNC(I, EchoFunc) = EFUNCS(DrawGlobe) ;
+- FUNC(I, Config) = globeConfig ;
++ FUNC(I, Config) = (void (*)(tdmInteractor, ...))globeConfig ;
+ echoRadius = GLOBERADIUS ;
+
+ /* globe is LL corner: window has no effect on size or placement */
+@@ -157,7 +157,7 @@ _dxfCreateRotationInteractor(tdmInteract
+
+ case tdmGnomonEcho:
+ FUNC(I, EchoFunc) = EFUNCS(DrawGnomon) ;
+- FUNC(I, Config) = gnomonConfig ;
++ FUNC(I, Config) = (void (*)(tdmInteractor, ...))gnomonConfig ;
+ echoRadius = GNOMONRADIUS ;
+
+ PDATA(foreground) = (void *) 1 ;
+@@ -167,7 +167,7 @@ _dxfCreateRotationInteractor(tdmInteract
+ default:
+ case tdmNullEcho:
+ FUNC(I, EchoFunc) = NullEchoFunc ;
+- FUNC(I, Config) = gnomonConfig ;
++ FUNC(I, Config) = (void (*)(tdmInteractor, ...))gnomonConfig ;
+ echoRadius = 0 ;
+
+ PDATA(foreground) = (void *) 0 ;
+@@ -231,8 +231,8 @@ _dxfCreateViewRotationInteractor (tdmInt
+ FUNC(I, ResumeEcho) = NullResumeEcho ;
+ FUNC(I, EchoFunc) = E ;
+ FUNC(I, Destroy) = _dxfDeallocateInteractor ;
+- FUNC(I, Config) = viewerConfig ;
+- FUNC(I, restoreConfig) = NullFunction ;
++ FUNC(I, Config) = (void (*)(tdmInteractor, ...))viewerConfig ;
++ FUNC(I, restoreConfig) = (void (*)(tdmInteractor, ...))NullFunction ;
+
+ switch (M)
+ {
+--- dx-4.4.4/src/exec/hwrender/hwStereo.c.orig 2006-01-02 23:56:51.000000000 +0100
++++ dx-4.4.4/src/exec/hwrender/hwStereo.c 2026-02-03 21:22:34.540037666 +0100
+@@ -48,7 +48,7 @@ static int stereoSystemLoaded = 0;
+ Error
+ _dxfLoadStereoSystemModeFile(char *fname)
+ {
+- int (*func)() = DXLoadObjFile(fname, "DXMODULES");
++ int (*func)(int *, StereoSystemMode **) = (int (*)(int *, StereoSystemMode **))DXLoadObjFile(fname, "DXMODULES");
+ if (! func)
+ {
+ DXWarning("unable to open stereo system mode file %s", fname);
+@@ -201,7 +201,7 @@ static int stereoCameraLoaded = 0;
+ Error
+ _dxfLoadStereoCameraModeFile(char *fname)
+ {
+- int (*func)() = DXLoadObjFile(fname, "DXMODULES");
++ int (*func)(int *, StereoCameraMode **) = (int (*)(int *, StereoCameraMode **))DXLoadObjFile(fname, "DXMODULES");
+ if (! func)
+ {
+ DXWarning("unable to open stereo system mode file %s", fname);
+--- dx-4.4.4/src/exec/hwrender/hwXfield.c.orig 2006-06-29 17:51:16.000000000 +0200
++++ dx-4.4.4/src/exec/hwrender/hwXfield.c 2026-02-03 21:23:31.473677459 +0100
+@@ -983,7 +983,7 @@ _dxf_newXfieldO(Field f, attributeP attr
+ xfieldP xf = _dxf_newXfieldP(f, attributes, globals);
+
+ if (xf)
+- xfo = (xfieldO)_dxf_newHwObject(HW_CLASS_XFIELD, (Pointer)xf, _dxf_deleteXfield);
++ xfo = (xfieldO)_dxf_newHwObject(HW_CLASS_XFIELD, (Pointer)xf, (Error (*)(Pointer))_dxf_deleteXfield);
+
+ EXIT(("xfo = 0x%x", xfo));
+ return xfo;
+--- dx-4.4.4/src/exec/dpexec/command.c.orig 2006-01-05 23:55:41.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/command.c 2026-02-03 21:37:48.151631568 +0100
+@@ -83,7 +83,7 @@ typedef struct _EXTab *EXTab;
+ typedef struct _EXTab
+ {
+ char *name; /* string to match */
+- PFI func; /* function to call on match */
++ Error (*func)(char *, Object *); /* function to call on match */
+ EXTab table; /* table to search on match */
+ int size; /* size of the table */
+ } _EXTab;
+@@ -241,7 +241,7 @@ Error _dxf_ExExecCommand (Object *in)
+ ;
+
+ if (MustRunOnMaster (in[0]))
+- ret = _dxf_ExRunOn (1, CmdProc, in, ((i+1) * sizeof(Object)));
++ ret = _dxf_ExRunOn (1, (Error (*)(Pointer))CmdProc, in, ((i+1) * sizeof(Object)));
+ else
+ ret = CmdProc (in);
+
+@@ -1254,7 +1254,7 @@ static int LoadObjFile(char *c, Object *
+
+ static int LoadInteractors(char *c, Object *in)
+ {
+- return _dxf_ExRunOn (1, _dxfLoadUserInteractors, (Pointer)c, strlen(c)+1);
++ return _dxf_ExRunOn (1, (Error (*)(Pointer))_dxfLoadUserInteractors, (Pointer)c, strlen(c)+1);
+ }
+
+ static int MdfLoadFile(char *c, Object *in)
+@@ -1352,7 +1352,7 @@ static int Pfsmgr (char *c, Object *in)
+
+ for (b = buf; *b; b++)
+ if (isspace (*b))
+- *b = (char) NULL;
++ *b = 0;
+
+ ret = _dxf_pfsmgr (argc, argv);
+
+--- dx-4.4.4/src/exec/dpexec/distpacket.c.orig 2006-01-03 00:50:44.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/distpacket.c 2026-02-03 21:39:36.178880915 +0100
+@@ -277,7 +277,7 @@ void _dxf_ExDistributeMsg(DistMsg type,
+ else argp->data = data;
+
+ argp->to = to;
+- _dxf_ExRunOn (1, DistributeMsgAP, argp, 0);
++ _dxf_ExRunOn (1, (Error (*)(Pointer))DistributeMsgAP, argp, 0);
+ if(size > 0)
+ DXFree(argp->data);
+ DXFree(argp);
+--- dx-4.4.4/src/exec/dpexec/rq.h.orig 2004-07-29 21:46:29.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/rq.h 2026-02-04 21:27:38.600851687 +0100
+@@ -20,11 +20,11 @@
+ extern "C" {
+ #endif
+
+-void _dxf_ExRQEnqueue (PFI func, Pointer arg, int repeat,
++void _dxf_ExRQEnqueue (int (*func)(Pointer, int), Pointer arg, int repeat,
+ long gid, /* Group ID (used) */
+ int JID, /* JOB (pinned proc) or 0 */
+ int highpri); /* run this NOW */
+-void _dxf_ExRQEnqueueMany (int n, PFI func[], Pointer arg[], int repeat[],
++void _dxf_ExRQEnqueueMany (int n, int (*func[])(Pointer, int), Pointer arg[], int repeat[],
+ long gid, /* Group ID (used) */
+ int JID, /* JOB (pinned proc) or 0 */
+ int highpri); /* run this NOW */
+--- dx-4.4.4/src/exec/dpexec/graph.h.orig 2004-07-29 21:46:29.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/graph.h 2026-02-03 21:53:38.420062979 +0100
+@@ -163,7 +163,7 @@ typedef struct gfunc
+ ModPath mod_path; /* module path (<mac/func>:<#> pairs) */
+ _ftype ftype; /* macro, loop or module */
+ union {
+- PFI module; /* function to call */
++ int (*module)(Object *, Object *); /* function to call */
+ struct program *subP; /* loop or macro sub program */
+ } func;
+ int flags; /* module flags */
+--- dx-4.4.4/src/exec/dpexec/function.h.orig 2004-07-29 21:46:29.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/function.h 2026-02-03 22:22:41.482720401 +0100
+@@ -19,7 +19,7 @@ extern "C" {
+ #endif
+
+ Error _dxf_ExFunctionDone ();
+-Error DXAddModuleV (char *name, PFI func, int flags, int nin, char *inlist[],
++Error DXAddModuleV (char *name, int (*func)(Object *, Object *), int flags, int nin, char *inlist[],
+ int nout, char *outlist[], char *exec, char *host);
+ Error DXAddModule (char *name, ...);
+
+--- dx-4.4.4/src/exec/dpexec/function.c.orig 2002-03-22 00:51:01.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/function.c 2026-02-03 22:24:15.656556631 +0100
+@@ -159,7 +159,7 @@ int DXAddMacro (node *macro)
+ */
+
+
+-Error DXAddModuleV (char *name, PFI func, int flags, int nin, char *inlist[],
++Error DXAddModuleV (char *name, int (*func)(Object *, Object *), int flags, int nin, char *inlist[],
+ int nout, char *outlist[], char *exec, char *host)
+ {
+ char *par;
+@@ -424,7 +424,7 @@ Error DXAddModuleV (char *name, PFI func
+ Error DXAddModule (char *name, ...)
+ {
+ va_list args;
+- PFI func;
++ int (*func)(Object *, Object *);
+ int flags;
+ int nin;
+ char **inlist;
+@@ -436,7 +436,7 @@ Error DXAddModule (char *name, ...)
+
+ va_start (args,name);
+
+- func = va_arg (args,PFI);
++ func = va_arg (args,int (*)(Object *, Object *));
+ flags = va_arg (args,int);
+
+ nin = va_arg (args,int);
+--- dx-4.4.4/src/exec/dpexec/graph.c.orig 2026-02-01 19:10:14.020988733 +0100
++++ dx-4.4.4/src/exec/dpexec/graph.c 2026-02-03 22:25:44.297029979 +0100
+@@ -278,7 +278,7 @@ DeleteGvarObj(gvar *var)
+ */
+ _dxf_ExRunOn (procId, DXDelete, (Pointer) obj, 0);
+ #endif
+- _dxf_ExRQEnqueue (DXDelete, (Pointer) obj, 1, 0, procId, TRUE);
++ _dxf_ExRQEnqueue ((Error (*)(Pointer, int))DXDelete, (Pointer) obj, 1, 0, procId, TRUE);
+ }
+ }
+ }
+--- dx-4.4.4/src/exec/dpexec/lex.h.orig 2004-07-29 21:46:29.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/lex.h 2026-02-04 05:40:18.760758427 +0100
+@@ -30,16 +30,18 @@ typedef struct _cmdBuf
+ struct _cmdBuf *next;
+ } CmdBuf;
+
++typedef union YYSTYPE YYSTYPE;
++
+ extern SFILE *yyin; /* from lex.c */
+
+-Error _dxf_ExInitLex();
+-void _dxf_ExFlushNewLine();
+-void _dxf_ExLexInit();
++Error _dxf_ExInitLex(void);
++void _dxf_ExFlushNewLine(void);
++void _dxf_ExLexInit(void);
+ void _dxf_ExUIPacketActive(int id, int t, int n);
+-void _dxf_ExLexError();
+-void _dxf_ExUIFlushPacket();
+-int ExCheckParseBuffer();
+-int yylex();
++void _dxf_ExLexError(void);
++void _dxf_ExUIFlushPacket(void);
++int ExCheckParseBuffer(void);
++int yylex(YYSTYPE *lvalp);
+ void yygrabdata(char *buffer, int len);
+
+ #if defined(__cplusplus) || defined(c_plusplus)
+--- dx-4.4.4/src/exec/dpexec/parsemdf.c.orig 2000-07-31 17:10:34.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/parsemdf.c 2026-02-04 21:01:28.132444289 +0100
+@@ -243,7 +243,7 @@ static Error callmdf(struct moddef *mp,
+ }
+ #endif
+
+- if (_dxf_ExRunOnAll (callmdf_remote, mp->m_loadfile,
++ if (_dxf_ExRunOnAll ((Error (*)(Pointer))callmdf_remote, mp->m_loadfile,
+ strlen(mp->m_loadfile)+1) == ERROR) {
+ DXAddMessage("module %s", mp->m_name);
+ return ERROR;
+@@ -282,7 +282,7 @@ static Error callmdf(struct moddef *mp,
+ if (DXProcessors(0) == 1 || _dxd_exGoneMP == 0)
+ rc = do_mdf_load(mp);
+ else
+- rc = _dxf_ExRunOn (1, do_mdf_load, (Pointer)mp, 0);
++ rc = _dxf_ExRunOn (1, (Error (*)(Pointer))do_mdf_load, (Pointer)mp, 0);
+
+
+ /* if running distributed, tell the others about the new module.
+--- dx-4.4.4/src/exec/dpexec/parsemdf.h.orig 2026-02-04 21:04:09.449974473 +0100
++++ dx-4.4.4/src/exec/dpexec/parsemdf.h 2026-02-04 21:04:12.769992245 +0100
+@@ -51,7 +51,7 @@ struct modargs {
+
+ struct moddef {
+ char * m_name; /* module name */
+- PFI m_func; /* entry point - function address */
++ Error (*m_func)(Object *, Object *); /* entry point - function address */
+ int m_flags; /* module flags */
+ int m_nin; /* number of inputs */
+ struct modargs * m_innames; /* list of inputs - modargs structs */
+--- dx-4.4.4/src/exec/dpexec/queue.h.orig 2000-08-11 17:28:13.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/queue.h 2026-02-04 21:12:27.979309721 +0100
+@@ -21,8 +21,8 @@ typedef struct _EXQueue *EXQueue;
+ typedef struct _EXQueueElement *EXQueueElement;
+
+ EXQueue _dxf_ExQueueCreate (int local, int locking,
+- PFI enqueue, PFI dequeue,
+- PFI print, PFI destroy);
++ int (*enqueue)(Pointer), int (*dequeue)(Pointer),
++ int (*print)(char *, Pointer), int (*destroy)(Pointer));
+ Error _dxf_ExQueueDestroy (EXQueue q);
+
+ Pointer _dxf_ExQueueDequeue (EXQueue q);
+--- dx-4.4.4/src/exec/dpexec/queue.c.orig 2002-03-22 00:51:03.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/queue.c 2026-02-04 21:13:22.836270075 +0100
+@@ -28,10 +28,10 @@ typedef struct _EXQueueElement
+
+ typedef struct _EXQueue
+ {
+- PFI enqueue; /* called when adding element */
+- PFI dequeue; /* called when removing element */
+- PFI print; /* called to print an element */
+- PFI destroy; /* called to destroy an element */
++ int (*enqueue)(Pointer); /* called when adding element */
++ int (*dequeue)(Pointer); /* called when removing element */
++ int (*print)(char *, Pointer); /* called to print an element */
++ int (*destroy)(Pointer); /* called to destroy an element */
+ int items; /* number in queue */
+ int locking; /* is locking required */
+ int local; /* is this a local queue */
+@@ -62,7 +62,7 @@ static Pointer ExQueueRemove (EXQueue q
+ */
+
+ EXQueue _dxf_ExQueueCreate (int local, int locking,
+- PFI enqueue, PFI dequeue, PFI print, PFI destroy)
++ int (*enqueue)(Pointer), int (*dequeue)(Pointer), int (*print)(char *, Pointer), int (*destroy)(Pointer))
+ {
+ int n;
+ EXQueue q;
+@@ -119,7 +119,7 @@ EXQueue _dxf_ExQueueCreate (int local, i
+ Error _dxf_ExQueueDestroy (EXQueue q)
+ {
+ EXQueueElement e, ne;
+- PFI rm;
++ int (*rm)(Pointer);
+
+ if (! q)
+ return (OK);
+@@ -253,7 +253,7 @@ static int ExQueueDefaultPrint (char *bu
+
+ static Error ExQueueInsert (EXQueue q, Pointer val, int head)
+ {
+- PFI enq;
++ int (*enq)(Pointer);
+ int l;
+ EXQueueElement e;
+ int s;
+@@ -334,7 +334,7 @@ static Error ExQueueInsert (EXQueue q, P
+
+ static Pointer ExQueueRemove (EXQueue q, int head)
+ {
+- PFI deq;
++ int (*deq)(Pointer);
+ int l;
+ EXQueueElement e;
+ int n;
+--- dx-4.4.4/src/exec/dpexec/rih.h.orig 2004-07-29 21:46:29.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/rih.h 2026-02-04 21:22:27.965855269 +0100
+@@ -22,10 +22,10 @@ extern "C" {
+
+ typedef struct
+ {
+- PFE proc;
++ Error (*proc)(int, Pointer);
+ int fd;
+ Pointer arg;
+- PFI check;
++ int (*check)(int, Pointer);
+ int flag;
+ int isWin;
+ void *dpy;
+@@ -33,7 +33,7 @@ typedef struct
+
+ typedef struct
+ {
+- PFE proc;
++ Error (*proc)(Pointer);
+ Pointer arg;
+ int when;
+ } _EXRCH, *EXRCH;
+--- dx-4.4.4/src/exec/dpexec/rq.c.orig 2002-03-22 00:51:03.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/rq.c 2026-02-04 21:27:21.924095736 +0100
+@@ -26,7 +26,7 @@ typedef struct _EXRQJob
+ int highpri; /* run this NOW */
+ long gid; /* group id */
+ int JID; /* job id */
+- PFI func; /* function to call */
++ int (*func)(Pointer, int); /* function to call */
+ Pointer arg; /* argument to pass */
+ int repeat; /* number of repetitions for job*/
+ } _EXRQJob;
+@@ -75,7 +75,7 @@ Error _dxf_ExRQInit (void)
+ return (OK);
+ }
+
+-void _dxf_ExRQEnqueue (PFI func, Pointer arg, int repeat,
++void _dxf_ExRQEnqueue (int (*func)(Pointer, int), Pointer arg, int repeat,
+ long gid, int JID, int highpri)
+ {
+ volatile EXRQ rq;
+@@ -179,7 +179,7 @@ MARK_TIME ("RQE Exit");
+ else {
+ if(send_RQ_message) {
+ send_RQ_message = 0;
+- _dxf_ExRunOn (1, _dxf_child_RQ_message, &JID, sizeof(int));
++ _dxf_ExRunOn (1, (Error (*)(Pointer))_dxf_child_RQ_message, &JID, sizeof(int));
+ send_RQ_message = 1;
+ }
+ }
+@@ -192,7 +192,7 @@ MARK_TIME ("RQE Exit");
+ * the queue is then locked, and the jobs are enqueued all at once.
+ */
+
+-void _dxf_ExRQEnqueueMany (int n, PFI func[], Pointer arg[],
++void _dxf_ExRQEnqueueMany (int n, int (*func[])(Pointer, int), Pointer arg[],
+ int repeat[], long gid, int JID, int highpri)
+ {
+ volatile EXRQ rq;
+@@ -321,7 +321,7 @@ MARK_TIME ("RQEM Queued");
+ DXunlock (l, exJID);
+ MARK_TIME ("RQEM Exit");
+ send_RQ_message = 0;
+- _dxf_ExRunOn (1, _dxf_child_RQ_message, &JID, sizeof(int));
++ _dxf_ExRunOn (1, (Error (*)(Pointer))_dxf_child_RQ_message, &JID, sizeof(int));
+ send_RQ_message = 1;
+ }
+
+--- dx-4.4.4/src/exec/dpexec/socket.c.orig 2006-05-08 18:35:33.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/socket.c 2026-02-04 21:28:37.651167831 +0100
+@@ -66,7 +66,6 @@
+ */
+ int _dxf_ExGetSocket(char *name, int *port)
+ {
+- char *getenv();
+ char *env;
+ char *p;
+
+--- dx-4.4.4/src/exec/dpexec/task.c.orig 2004-06-03 18:45:21.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/task.c 2026-02-04 22:20:15.761051847 +0100
+@@ -314,7 +314,7 @@ error:
+ * end of the current task group and "work" is ignored.
+ */
+
+-Error DXAddLikeTasks (PFE func, Pointer arg, int size, double work, int repeat)
++Error DXAddLikeTasks (Error (*func)(Pointer, int), Pointer arg, int size, double work, int repeat)
+ {
+ EXTaskGroup tg = NULL;
+ int s;
+@@ -410,7 +410,7 @@ Error DXAddLikeTasks (PFE func, Pointer
+ t->taskContext = _dxd_exContext;
+ #endif
+ _dxfCopyContext(&(t->taskContext), _dxd_exContext);
+- _dxf_ExRQEnqueue (ExProcessTask, (Pointer)t, repeat,
++ _dxf_ExRQEnqueue ((int (*)(Pointer, int))ExProcessTask, (Pointer)t, repeat,
+ (long) tg, 0, FALSE);
+ }
+ else
+@@ -429,9 +429,9 @@ error:
+ return (ERROR);
+ }
+
+-Error DXAddTask (PFE func, Pointer arg, int size, double work)
++Error DXAddTask (Error (*func)(Pointer), Pointer arg, int size, double work)
+ {
+- return DXAddLikeTasks (func, arg, size, work, 1);
++ return DXAddLikeTasks ((Error (*)(Pointer, int))func, arg, size, work, 1);
+ }
+
+
+@@ -674,7 +674,7 @@ SMP linux -- gda
+ * task group to be deleted.
+ */
+ if (lastTask)
+- _dxf_ExRQEnqueue (ExDestroyTaskGroup, (Pointer)tg, 1, 0, tg->procId, FALSE);
++ _dxf_ExRQEnqueue ((int (*)(Pointer, int))ExDestroyTaskGroup, (Pointer)tg, 1, 0, tg->procId, FALSE);
+ }
+ else
+ {
+@@ -731,10 +731,10 @@ static Error ExProcessTaskGroup (int syn
+ int totalTodo;
+ #define NUM_TASKS_ALLOCED 256
+ Pointer _args[NUM_TASKS_ALLOCED];
+- PFI _funcs[NUM_TASKS_ALLOCED];
++ Error (*_funcs[NUM_TASKS_ALLOCED])(EXTask, int);
+ int _repeats[NUM_TASKS_ALLOCED];
+ Pointer *args = _args;
+- PFI *funcs = _funcs;
++ Error (**funcs)(EXTask, int) = _funcs;
+ int *repeats = _repeats;
+ int status;
+ WorkIndex _ilist[NUM_TASKS_ALLOCED];
+@@ -807,7 +807,7 @@ static Error ExProcessTaskGroup (int syn
+ */
+ if (todo > NUM_TASKS_ALLOCED)
+ {
+- funcs = (PFI *) DXAllocateLocal (todo * sizeof (PFI ));
++ funcs = (Error (**)(EXTask, int)) DXAllocateLocal (todo * sizeof (PFI ));
+ args = (Pointer *) DXAllocateLocal (todo * sizeof (Pointer));
+ repeats = (int *) DXAllocateLocal (todo * sizeof (int ));
+ if (funcs == NULL || args == NULL || repeats == NULL)
+@@ -844,7 +844,7 @@ static Error ExProcessTaskGroup (int syn
+ #ifdef TASK_TIME
+ DXMarkTimeLocal ("queue all tasks");
+ #endif
+- _dxf_ExRQEnqueueMany (todo, funcs, args, repeats, (long) tg, 0, FALSE);
++ _dxf_ExRQEnqueueMany (todo, (int (**)(Pointer, int))funcs, args, repeats, (long) tg, 0, FALSE);
+ #ifdef TASK_TIME
+ DXMarkTimeLocal ("queued all tasks");
+ #endif
+@@ -974,7 +974,7 @@ void _dxf_ExPrintTaskGroup (EXTaskGroup
+ typedef struct
+ {
+ lock_type done; /* set to true when job is done */
+- PFE func; /* function to call on processor*/
++ Error (*func)(Pointer); /* function to call on processor*/
+ Pointer arg; /* argument block for the func */
+ int size; /* size of allocated argument */
+ ErrorCode code; /* returned error code */
+@@ -998,7 +998,7 @@ static Error ExRunOnWorker (EXROJob job,
+ * need to construct the argument block.
+ */
+
+-Error _dxf_ExRunOn (int JID, PFE func, Pointer arg, int size)
++Error _dxf_ExRunOn (int JID, Error (*func)(Pointer), Pointer arg, int size)
+ {
+ EXROJob job = NULL;
+ ErrorCode ecode;
+@@ -1034,7 +1034,7 @@ Error _dxf_ExRunOn (int JID, PFE func, P
+ DXcreate_lock(&job->done, "Job");
+ DXlock(&job->done, exJID);
+
+- _dxf_ExRQEnqueue (ExRunOnWorker, (Pointer) job, 1, 0, JID, TRUE);
++ _dxf_ExRQEnqueue ((Error (*)(Pointer, int))ExRunOnWorker, (Pointer) job, 1, 0, JID, TRUE);
+
+ DXlock(&job->done, exJID);
+ DXunlock(&job->done, exJID);
+@@ -1061,7 +1061,7 @@ error:
+
+
+ Error
+-_dxf_ExRunOnAll (PFE func, Pointer arg, int size)
++_dxf_ExRunOnAll (Error (*func)(Pointer), Pointer arg, int size)
+ {
+ int i;
+ Error ret=OK;
+--- dx-4.4.4/src/exec/dpexec/task.h.orig 2006-01-05 23:55:42.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/task.h 2026-02-04 21:36:16.823625084 +0100
+@@ -33,7 +33,7 @@ typedef struct _EXTask
+ {
+ EXTaskGroup tg; /* control block */
+ float work; /* work estimate */
+- PFE func; /* function to call */
++ Error (*func)(Pointer, int); /* function to call */
+ int repeat; /* number of requested reps */
+ int nocopy; /* just pass arg flag */
+ int exdelete; /* 1->not in `tasks' array */
+@@ -68,7 +68,7 @@ typedef struct
+
+ void _dxf_ExPrintTask (EXTask t);
+ void _dxf_ExPrintTaskGroup (EXTaskGroup tg);
+-Error _dxf_ExInitTaskPerProc();
++Error _dxf_ExInitTaskPerProc(void);
+ Error _dxf_ExInitTask(int n);
+
+
+--- dx-4.4.4/src/exec/dpexec/loader.h.orig 2000-08-11 17:28:12.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/loader.h 2026-02-05 20:09:32.716210884 +0100
+@@ -14,9 +14,10 @@
+
+ #include "utils.h"
+
++typedef int (*DXEntryFunc)(int *, void*);
+ Error DXLoadAndRunObjFile (char *fname, char *envvar);
+ Error DXUnloadObjFile (char *fname, char *envvar);
+-PFI DXLoadObjFile (char *fname, char *envvar);
++DXEntryFunc DXLoadObjFile (char *fname, char *envvar);
+ Error _dxf_fileSearch(char *inname, char **outname, char *extension,
+ char *environment);
+
+--- dx-4.4.4/src/exec/dpexec/userinter.c.orig 2000-07-31 17:10:37.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/userinter.c 2026-02-05 20:09:54.762996264 +0100
+@@ -23,7 +23,7 @@ Error
+ _dxfLoadUserInteractors(char *fname)
+ {
+ char *path = (char *)getenv("DXUSERINTERACTORS");
+- int (*func)() = DXLoadObjFile(fname, path);
++ int (*func)(int *, void **) = (int (*)(int *, void **))DXLoadObjFile(fname, path);
+ if (! func)
+ DXWarning("unable to open user interactor file %s", fname);
+ else
+--- dx-4.4.4/src/exec/dpexec/variable.c.orig 2000-07-31 17:10:38.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/variable.c 2026-02-05 20:12:26.213811758 +0100
+@@ -119,7 +119,7 @@ _dxf_ExGVariableGetStr(char *var)
+ va = (vargetArg *) DXAllocate(sizeof(vargetArg));
+ va->name = var;
+ va->obj = NULL;
+- _dxf_ExRunOn (1, ExVariableGet, (Pointer)va, 0);
++ _dxf_ExRunOn (1, (Error (*)(Pointer))ExVariableGet, (Pointer)va, 0);
+ if (DXExtractString ((Object)va->obj, &val) == NULL)
+ val = NULL;
+ DXFree(va);
+@@ -205,11 +205,11 @@ Error DXSetVariable(char *name, Object o
+ va->obj = obj;
+ va->cause_execution = cause_execution;
+ if(sync) {
+- ret = _dxf_ExRunOn (1, ExVariableSet, va, 0);
++ ret = _dxf_ExRunOn (1, (Error (*)(Pointer))ExVariableSet, va, 0);
+ return(ret);
+ }
+ else {
+- _dxf_ExRQEnqueue(ExVariableSet, (Pointer)va, 1, 0, 1, 0);
++ _dxf_ExRQEnqueue((int (*)(Pointer, int))ExVariableSet, (Pointer)va, 1, 0, 1, 0);
+ return(OK);
+ }
+
+@@ -236,7 +236,7 @@ Error DXGetVariable(char *name, Object *
+
+ va = (vargetArg *) DXAllocate(sizeof(vargetArg));
+ va->name = name;
+- ret = _dxf_ExRunOn (1, ExVariableGet, va, 0);
++ ret = _dxf_ExRunOn (1, (Error (*)(Pointer))ExVariableGet, va, 0);
+
+ if (ret == OK)
+ *obj = va->obj;
+--- dx-4.4.4/src/exec/dpexec/vcr.c.orig 2000-07-31 17:10:38.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/vcr.c 2026-02-05 20:12:59.840659491 +0100
+@@ -436,7 +436,7 @@ void _dxf_ExVCRCommand (int comm, long a
+ arg->comm = comm;
+ arg->arg1 = arg1;
+ arg->arg2 = arg2;
+- _dxf_ExRQEnqueue (VCRCommandTask, (Pointer) arg, 1, 0, 1, FALSE);
++ _dxf_ExRQEnqueue ((int (*)(Pointer, int))VCRCommandTask, (Pointer) arg, 1, 0, 1, FALSE);
+ return;
+ }
+
+#--- dx-4.4.4/src/exec/dpexec/yuiif.c.orig 2006-01-09 23:57:35.000000000 +0100
+#+++ dx-4.4.4/src/exec/dpexec/yuiif.c 2026-02-05 20:21:02.833260190 +0100
+#@@ -240,6 +240,7 @@
+# /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */
+# /***********************************************************************/
+#
+#+typedef union YYSTYPE YYSTYPE;
+#
+# #define DXD_ENABLE_SOCKET_POINTERS /* define SFILE in arch.h, os2 */
+# #include <dx/dx.h>
+--- dx-4.4.4/src/exec/dpexec/evalgraph.c.orig 2003-07-12 02:12:03.000000000 +0200
++++ dx-4.4.4/src/exec/dpexec/evalgraph.c 2026-02-05 21:12:01.466409284 +0100
+@@ -835,7 +835,7 @@ ExStartModules(Program *p)
+ if (!IsSwitch(gf) && !IsRoute(gf))
+ gf->required = RUNNING;
+ p->cursor = i;
+- _dxf_ExRQEnqueue(_execGnode, (Pointer) ta, 1, 0, procId, FALSE);
++ _dxf_ExRQEnqueue((int (*)(Pointer, int))_execGnode, (Pointer) ta, 1, 0, procId, FALSE);
+ break;
+ }
+ }
+@@ -856,7 +856,7 @@ ExStartModules(Program *p)
+ p->cursor = p->first_skipped - 1;
+ ExDebug("5", "Should reset cursor to %d at this point", p->first_skipped);
+ p->first_skipped = -1;
+- _dxf_ExRQEnqueue(_QueueableStartModules, (Pointer) p,
++ _dxf_ExRQEnqueue((int (*)(Pointer, int))_QueueableStartModules, (Pointer) p,
+ 1, 0, 0, FALSE);
+ return;
+ }
+@@ -868,7 +868,7 @@ ExStartModules(Program *p)
+ p->loopctl.first = FALSE;
+ p->loopctl.counter++;
+ MARK_1("rerun loop");
+- _dxf_ExRunOn(1, ExQueueSubGraph, (Pointer)p, 0);
++ _dxf_ExRunOn(1, (Error (*)(Pointer))ExQueueSubGraph, (Pointer)p, 0);
+ return;
+ }
+
+@@ -948,7 +948,7 @@ ExStartModules(Program *p)
+ {
+ if(nfuncs > 0 && !p->deleted && !p->waited) {
+ p->waited = TRUE;
+- _dxf_ExRunOn(1, _dxf_ExWaitOnSlaves, NULL, 0);
++ _dxf_ExRunOn(1, (Error (*)(Pointer))_dxf_ExWaitOnSlaves, NULL, 0);
+ }
+ if (p->outstandingRequests == 0)
+ _dxf_ExGQDecrement(p);
+@@ -1402,7 +1402,7 @@ _execGnode(Pointer ptr)
+ */
+ INCR_RUNABLE
+ MARK_1("queue sub graph");
+- _dxf_ExRunOn(1, ExQueueSubGraph, (Pointer)n->func.subP, 0);
++ _dxf_ExRunOn(1, (Error (*)(Pointer))ExQueueSubGraph, (Pointer)n->func.subP, 0);
+ status = OK;
+ }
+ else
+@@ -2890,7 +2890,7 @@ ExProcessDPSENDFunction(Program *p, gfun
+ args->procid = tgprocid,
+ args->pv = pv;
+ args->index = outdex;
+- _dxf_ExRunOn(1, QueueSendRequest, args, 0);
++ _dxf_ExRunOn(1, (Error (*)(Pointer))QueueSendRequest, args, 0);
+ DXFree(args);
+ return(OK);
+ }
+@@ -3136,7 +3136,7 @@ _dxf_ExMarkVarRequired(int gid, int sgid
+ subp->cursor = -1;
+ ExDoPreExecPreparation(subp);
+ subp->outstandingRequests++;
+- _dxf_ExRQEnqueue(_QueueableStartModulesReset,
++ _dxf_ExRQEnqueue((int (*)(Pointer, int))_QueueableStartModulesReset,
+ (Pointer) subp, 1, 0, 0, FALSE);
+ }
+
+--- dx-4.4.4/src/exec/dpexec/loader.c.orig 2005-12-26 22:52:26.000000000 +0100
++++ dx-4.4.4/src/exec/dpexec/loader.c 2026-02-05 21:23:52.690268828 +0100
+@@ -97,7 +97,7 @@ typedef int Handle;
+ #ifdef DXD_WIN
+ #define EntryPt FARPROC
+ #else
+-typedef int (*EntryPt)();
++typedef DXEntryFunc EntryPt;
+ #endif
+
+ /* current load state */
+@@ -443,10 +443,10 @@ Error DXUnloadObjFile(char *fname, char
+
+
+
+-PFI DXLoadObjFile(char *fname, char *envvar)
++DXEntryFunc DXLoadObjFile(char *fname, char *envvar)
+ {
+ Handle handle;
+- int (*func)();
++ DXEntryFunc func;
+ char *foundname = NULL;
+ struct loadtable *lp = NULL;
+
+@@ -482,7 +482,7 @@ PFI DXLoadObjFile(char *fname, char *env
+ return NULL;
+ }
+
+- if ((func = (PFI)dlsym(handle, "DXEntry")) == NULL) {
++ if ((func = (DXEntryFunc)dlsym(handle, "DXEntry")) == NULL) {
+ DXSetError(ERROR_DATA_INVALID,
+ "cannot find entry point 'DXEntry' in file '%s'", foundname);
+ DXFree((Pointer)foundname);
+@@ -500,7 +500,7 @@ PFI DXLoadObjFile(char *fname, char *env
+
+ Error DXLoadAndRunObjFile(char *fname, char *envvar)
+ {
+- int (*func)();
++ DXEntryFunc func;
+
+ func = DXLoadObjFile(fname, envvar);
+ if (func == NULL)
+@@ -511,7 +511,7 @@ Error DXLoadAndRunObjFile(char *fname, c
+ if (DXQueryDebug("L"))
+ DXEnableDebug("F", 1);
+
+- (*func)();
++ (*func)(NULL, NULL);
+
+ if (DXQueryDebug("L"))
+ DXEnableDebug("F", 0);
+--- dx-4.4.4/src/uipp/base/help.c.orig 2003-07-12 02:12:15.000000000 +0200
++++ dx-4.4.4/src/uipp/base/help.c 2026-02-05 21:39:42.168809164 +0100
+@@ -72,7 +72,7 @@ char* mktemp(char*);
+ extern char* mktemp(char*);
+ #endif
+
+-extern void RemoveHelpIndexFileCB();
++extern void RemoveHelpIndexFileCB(Widget, XtPointer, XtPointer);
+
+ extern void PushMenu(Widget, UserData*, LinkType, char*); /* from history.c */
+ extern int SearchList(SpotList *, char *); /* from helplist.c */
+@@ -86,14 +86,13 @@ Bool HelpOn(Widget, int, char *, char *,
+ /*
+ * CALLBACK PROCEDURE DECLARATIONS
+ */
+-extern void CloseCB();
+-extern void GoBackCB();
+-extern void LinkCB();
+-extern void DestroyCB();
+-
+-extern XmFontList FONT_LIST();
+-extern int SendWidgetText();
+-extern SpotList *NewList();
++extern void CloseCB(Widget, XtPointer, XtPointer);
++extern void GoBackCB(Widget, XtPointer, XtPointer);
++extern void LinkCB(Widget, XtPointer, XtPointer);
++extern void DestroyCB(Widget, XtPointer, XtPointer);
++
++extern int SendWidgetText(Widget, FILE *, Bool, char *);
++extern SpotList *NewList(void);
+
+
+ static char ReadmeNotAvailable[] = "HelpNotAvailable";
+--- dx-4.4.4/src/uipp/base/history.c.orig 2002-03-25 17:42:03.000000000 +0100
++++ dx-4.4.4/src/uipp/base/history.c 2026-02-05 21:40:51.315859045 +0100
+@@ -22,7 +22,7 @@
+ #include "help.h"
+
+ extern Bool HelpOn(Widget, int, char *, char *, int); /* from help.c */
+-extern unsigned long COLOR();
++extern unsigned long COLOR(Widget, char *);
+
+
+ /*****************************************************************************/
+--- dx-4.4.4/src/uipp/base/parse.c.orig 2002-03-25 17:42:03.000000000 +0100
++++ dx-4.4.4/src/uipp/base/parse.c 2026-02-05 21:42:39.513125343 +0100
+@@ -39,11 +39,10 @@ char *GetMathToken(FILE **mathfile, char
+
+ /* external routines */
+
+-extern void Push();
+-extern char *Pop();
+-extern void DoRedrawText();
+-extern Stack *NewStack();
+-extern char *Top();
++extern void Push(Stack *, char *);
++extern char *Pop(Stack *);
++extern Stack *NewStack(void);
++extern char *Top(Stack *);
+ extern void FreeSpotList(SpotList *); /* from helplist.c */
+ extern void InsertList(SpotList *, ListNodeType *); /* from helplist.c */
+
+--- dx-4.4.4/src/uipp/dxl/conn.c.orig 2026-02-05 21:24:42.957209035 +0100
++++ dx-4.4.4/src/uipp/dxl/conn.c 2026-02-05 21:50:08.978949599 +0100
+@@ -523,7 +523,7 @@ DXLStartDX(const char *string, const cha
+
+ void
+ DXLSetBrokenConnectionCallback(DXLConnection *connection,
+- void (*proc)(), void *data)
++ void (*proc)(DXLConnection *, void *), void *data)
+ {
+ connection->brokenConnectionCallback = proc;
+ connection->brokenConnectionCallbackData = data;
+--- dx-4.4.4/src/uipp/widgets/ColorMapEditor.c.orig 2003-09-27 00:09:40.000000000 +0200
++++ dx-4.4.4/src/uipp/widgets/ColorMapEditor.c 2026-02-05 21:55:21.624006526 +0100
+@@ -91,12 +91,12 @@ void SetRGBLines( XColor* cells, Control
+
+ /* Class and internal functions */
+
+-static void ClassInitialize();
+-static void Initialize();
+-static void Resize();
+-static void Realize();
+-static void Destroy();
+-static Boolean SetValues();
++static void ClassInitialize(void);
++static void Initialize(XmColorMapEditorWidget, XmColorMapEditorWidget);
++static void Resize(Widget);
++static void Realize(XmColorMapEditorWidget, XtValueMask *, XSetWindowAttributes *);
++static void Destroy(XmColorMapEditorWidget);
++static Boolean SetValues(XmColorMapEditorWidget, XmColorMapEditorWidget, XmColorMapEditorWidget);
+ static void exposeCME(XmColorMapEditorWidget, XExposeEvent *, Region);
+ void update_callback(ControlField *field);
+
+@@ -202,9 +202,9 @@ XmColorMapEditorClassRec xmColorMapEdito
+ /* class_initialize */ ClassInitialize,
+ /* class_part_initiali*/ NULL,
+ /* class_inited */ FALSE,
+- /* initialize */ Initialize,
++ /* initialize */ (XtInitProc)Initialize,
+ /* initialize_hook */ NULL,
+- /* realize */ Realize,
++ /* realize */ (XtRealizeProc)Realize,
+ /* actions */ NULL,
+ /* num_actions */ 0,
+ /* resources */ resources,
+@@ -214,10 +214,10 @@ XmColorMapEditorClassRec xmColorMapEdito
+ /* compress_exposure */ TRUE,
+ /* compress_enterleave*/ TRUE,
+ /* visible_interest */ FALSE,
+- /* destroy */ Destroy,
+- /* resize */ Resize,
++ /* destroy */ (XtWidgetProc)Destroy,
++ /* resize */ (XtWidgetProc)Resize,
+ /* expose */ (XtExposeProc)exposeCME,
+- /* set_values */ SetValues,
++ /* set_values */ (XtSetValuesFunc)SetValues,
+ /* set_values_hook */ NULL,
+ /* set_values_almost */ XtInheritSetValuesAlmost,
+ /* get_values_hook */ NULL,
+--- dx-4.4.4/src/uipp/widgets/Dial.c.orig 2005-12-30 20:36:10.000000000 +0100
++++ dx-4.4.4/src/uipp/widgets/Dial.c 2026-02-05 22:05:36.320728645 +0100
+@@ -60,37 +60,37 @@
+ # define trunc(x) ((double)((int)(x)))
+ #endif
+
+-static double _dxf_round();
+-static void xm_cvt_str_to_dbladdr();
+-static void xm_cvt_str_to_clock();
+-static void ClassInitialize();
+-static void Initialize();
+-static void Redisplay();
+-static void Resize();
+-static Boolean SetValues();
+-static void Destroy();
+-static void select_dial();
+-static void shading_on_dial();
+-static void shading_off_dial();
+-static void motion_dial();
+-static void validate_max();
+-static void validate_incr();
+-static void validate_per_marker();
+-static void validate_num_markers();
+-static void validate_maj_width();
+-static void validate_min_width();
+-static void validate_maj_pos();
+-static void validate_start_pos();
+-static void validate_pos();
+-static void validate_ind_width();
+-static void calc_markers();
+-static void calculate_indicator_pos();
+-static void draw_3dshadow();
+-static void draw_indicator();
+-static void draw_shading();
+-static void get_shade_GCs();
+-static double calculate_angle_diff();
+-static double norm_angle();
++static double _dxf_round(double, int);
++static void xm_cvt_str_to_dbladdr(XrmValue *, Cardinal *, XrmValue *, XrmValue *);
++static void xm_cvt_str_to_clock(XrmValue *, Cardinal *, XrmValue *, XrmValue *);
++static void ClassInitialize(WidgetClass);
++static void Initialize(XmDialWidget, XmDialWidget);
++static void Redisplay(XmDialWidget, XEvent *, Region);
++static void Resize(XmDialWidget);
++static Boolean SetValues(XmDialWidget, XmDialWidget, XmDialWidget);
++static void Destroy(XmDialWidget);
++static void select_dial(XmDialWidget, XEvent *, char *[], int);
++static void shading_on_dial(XmDialWidget, XEvent *, char *[], int);
++static void shading_off_dial(XmDialWidget, XEvent *, char *[], int);
++static void motion_dial(XmDialWidget, XtPointer, XEvent *);
++static void validate_max(XmDialWidget, double);
++static void validate_incr(XmDialWidget, double);
++static void validate_per_marker(XmDialWidget, int);
++static void validate_num_markers(XmDialWidget, int);
++static void validate_maj_width(XmDialWidget, int);
++static void validate_min_width(XmDialWidget, int);
++static void validate_maj_pos(XmDialWidget, int);
++static void validate_start_pos(XmDialWidget, int);
++static void validate_pos(XmDialWidget, int);
++static void validate_ind_width(XmDialWidget, int);
++static void calc_markers(XmDialWidget);
++static void calculate_indicator_pos(XmDialWidget);
++static void draw_3dshadow(XmDialWidget);
++static void draw_indicator(XmDialWidget, GC);
++static void draw_shading(XmDialWidget, GC);
++static void get_shade_GCs(XmDialWidget);
++static double calculate_angle_diff(double, double);
++static double norm_angle(double);
+
+ static char defaultTranslations[] = " <Btn1Down>: select() \n\
+ <Btn1Motion>: select() \n\
+@@ -207,10 +207,10 @@ XmDialClassRec XmdialClassRec =
+ (WidgetClass) &xmPrimitiveClassRec, /* superclass */
+ "XmDial", /* class_name */
+ sizeof(XmDialRec), /* widget_size */
+- ClassInitialize, /* class_initialize */
++ (XtProc)ClassInitialize, /* class_initialize */
+ NULL, /* class_part_initialize */
+ FALSE, /* class_inited */
+- Initialize, /* initialize */
++ (XtInitProc)Initialize, /* initialize */
+ NULL, /* initialize_hook */
+ XtInheritRealize, /* realize */
+ actionsList, /* actions */
+@@ -222,10 +222,10 @@ XmDialClassRec XmdialClassRec =
+ TRUE, /* compress_exposure */
+ TRUE, /* compress_enterleave */
+ FALSE, /* visible_interest */
+- Destroy, /* destroy */
+- Resize, /* resize */
+- Redisplay, /* expose */
+- SetValues, /* set_values */
++ (XtWidgetProc)Destroy, /* destroy */
++ (XtWidgetProc)Resize, /* resize */
++ (XtExposeProc)Redisplay, /* expose */
++ (XtSetValuesFunc)SetValues, /* set_values */
+ NULL, /* set_values_hook */
+ XtInheritSetValuesAlmost, /* set_values_almost */
+ NULL, /* get_values_hook */
+@@ -806,7 +806,7 @@ int n_args;
+ */
+ if (w->dial.shading)
+ {
+- XtAddEventHandler((Widget)w,PointerMotionMask,FALSE,motion_dial,NULL);
++ XtAddEventHandler((Widget)w,PointerMotionMask,FALSE,(XtEventHandler)motion_dial,NULL);
+ w->dial.shading_active = TRUE;
+ }
+ if (event->type == ButtonRelease)
+@@ -829,7 +829,7 @@ int n_args;
+ if (w->dial.shading_active)
+ {
+ XtRemoveEventHandler((Widget)w,PointerMotionMask,FALSE,
+- motion_dial,NULL);
++ (XtEventHandler)motion_dial,NULL);
+ draw_shading(w,w->dial.inverse_GC);
+ draw_indicator(w,w->dial.indicator_GC);
+ w->dial.shading_active = FALSE;
+--- dx-4.4.4/src/uipp/widgets/NumericList.c.orig 2002-03-25 17:42:41.000000000 +0100
++++ dx-4.4.4/src/uipp/widgets/NumericList.c 2026-02-05 22:29:37.341979524 +0100
+@@ -54,13 +54,13 @@ static void print_vector(XmNumericListWi
+ static void do_layout(XmNumericListWidget nlw);
+ static void MakeGC ( XmNumericListWidget w);
+ static void copy_vectors(XmNumericListWidget nlw, int old_n_vectors);
+-static void Arm();
+-static void Activate();
+-static void decrement_if_possible();
+-static void increment_if_possible();
++static void Arm(XmNumericListWidget, XEvent *, String *, Cardinal *);
++static void Activate(XmNumericListWidget, XEvent *, String *, Cardinal *);
++static void decrement_if_possible(XmNumericListWidget, XtIntervalId *);
++static void increment_if_possible(XmNumericListWidget, XtIntervalId *);
+ static void jump_to_end(XmNumericListWidget nlw);
+ static void set_decimal_places(XmNumericListWidget nlw);
+-static void BtnMotion();
++static void BtnMotion(XmNumericListWidget, XEvent *, String *, Cardinal *);
+
+ #define STRCMP(a,b) ((a) ? ((b) ? strcmp(a,b) : strcmp(a,"")) : \
+ ((b) ? strcmp("",b) : 0))
+@@ -665,7 +665,7 @@ Arg wargs[10];
+ {
+ nlw->numeric_list.tid =
+ XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)nlw),
+- 100, decrement_if_possible, nlw);
++ 100, (XtTimerCallbackProc)decrement_if_possible, nlw);
+ nlw->numeric_list.decrementing = True;
+ return;
+ }
+@@ -678,7 +678,7 @@ Arg wargs[10];
+ {
+ nlw->numeric_list.tid =
+ XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)nlw),
+- 100, increment_if_possible, nlw);
++ 100, (XtTimerCallbackProc)increment_if_possible, nlw);
+ nlw->numeric_list.incrementing = True;
+ return;
+ }
+@@ -691,7 +691,7 @@ Arg wargs[10];
+ XtRemoveTimeOut(nlw->numeric_list.tid);
+ nlw->numeric_list.tid =
+ XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)nlw),
+- 100, decrement_if_possible, nlw);
++ 100, (XtTimerCallbackProc)decrement_if_possible, nlw);
+ nlw->numeric_list.incrementing = False;
+ nlw->numeric_list.decrementing = True;
+ return;
+@@ -706,7 +706,7 @@ Arg wargs[10];
+ XtRemoveTimeOut(nlw->numeric_list.tid);
+ nlw->numeric_list.tid =
+ XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)nlw),
+- 100, increment_if_possible, nlw);
++ 100, (XtTimerCallbackProc)increment_if_possible, nlw);
+ nlw->numeric_list.decrementing = False;
+ nlw->numeric_list.incrementing = True;
+ return;
+--- dx-4.4.4/src/uipp/widgets/MultiText.c.orig 2026-02-05 21:24:42.970542441 +0100
++++ dx-4.4.4/src/uipp/widgets/MultiText.c 2026-02-05 22:30:51.712388058 +0100
+@@ -63,7 +63,7 @@
+ /*
+ * Forward declaration of methods:
+ */
+-static void ClassInitialize();
++static void ClassInitialize(WidgetClass);
+
+ static void Initialize(Widget, Widget, ArgList, Cardinal*);
+
+@@ -73,7 +73,7 @@ static void Redisplay(Widget, XEvent*, R
+
+ static void Resize(Widget);
+
+-static Boolean SetValues();
++static Boolean SetValues(XmMultiTextWidget, XmMultiTextWidget, XmMultiTextWidget);
+
+ /*
+ * Private routines used by the XmMultiTextWidget.
+@@ -433,7 +433,7 @@ XmMultiTextClassRec xmMultiTextClassRec
+ /* superclass */
+ "XmMultiText", /* class_name */
+ sizeof(XmMultiTextRec), /* widget_size */
+- ClassInitialize, /* class_initialize */
++ (XtProc)ClassInitialize, /* class_initialize */
+ NULL, /* class_part_initialize */
+ FALSE, /* class_inited */
+ Initialize, /* initialize */
+--- dx-4.4.4/src/uipp/widgets/Picture.c.orig 2003-07-12 02:12:30.000000000 +0200
++++ dx-4.4.4/src/uipp/widgets/Picture.c 2026-02-06 06:24:53.414455405 +0100
+@@ -61,7 +61,7 @@ static void generate_globe(XmPictureWi
+ static void keyboard_grab(XmPictureWidget w, Boolean grab);
+ static void restore_rectangle(XmPictureWidget w);
+ static void erase_image(XmPictureWidget w);
+-static double line_of_sight();
++static double line_of_sight(XmPictureWidget, double, double, double[4][4], double[4][4]);
+ static void setup_bounding_box(XmPictureWidget w);
+ static void calc_projected_axis(XmPictureWidget w);
+ static void setup_gnomon(XmPictureWidget w, Boolean rotate);
+@@ -97,9 +97,9 @@ XmPictureMoveCamera( XmPictureWidget w,
+ double *up_newx, double *up_newy, double *up_newz);
+
+
+-static int inverse(), mult44();
+-static double cofac(), det33() ;
+-static int find_closest(), draw_cursors();
++static int inverse(double[4][4], double[4][4]), mult44(double[4][4], double[4][4]);
++static double cofac(double[4][4], int, int), det33(double[4][4]) ;
++static int find_closest(XmPictureWidget, int, int), draw_cursors(XmPictureWidget);
+ static int set_rot ( double res[4][4], double s0, short s1 );
+ static int I44(double w[4][4]);
+ static int set_trans(double res[4][4] , double s0, short s1);
+@@ -126,20 +126,20 @@ static Boolean SetValues( XmPictureWidge
+ XmPictureWidget request,
+ XmPictureWidget new );
+
+-static void ClassInitialize();
+-static void Destroy();
++static void ClassInitialize(void);
++static void Destroy(XmPictureWidget);
+
+-static void Select();
+-static void Deselect();
+-static void CreateDelete();
+-static void BtnMotion();
+-static void KeyProc();
++static void Select(XmPictureWidget, XEvent *);
++static void Deselect(XmPictureWidget, XEvent *);
++static void CreateDelete(XmPictureWidget, XEvent *);
++static void BtnMotion(XmPictureWidget, XEvent *);
++static void KeyProc(XmPictureWidget, XEvent *);
+ #if 0
+ static void KeyMode();
+ #endif
+ static void ServerMessage (XmPictureWidget w, XEvent *event);
+ static void PropertyNotifyAR (XmPictureWidget w, XEvent *event);
+-static void Realize();
++static void Realize(XmPictureWidget, XtValueMask *, XSetWindowAttributes *);
+ static void Redisplay (XmPictureWidget ww,
+ XExposeEvent* event,
+ Region region);
+@@ -402,7 +402,7 @@ XmPictureClassRec xmPictureClassRec =
+ FALSE, /* class_inited */
+ (XtInitProc) Initialize, /* initialize */
+ NULL, /* initialize_hook */
+- Realize, /* realize */
++ (XtRealizeProc)Realize, /* realize */
+ actionsList, /* actions */
+ XtNumber(actionsList), /* num_actions */
+ resources, /* resources */
+@@ -412,7 +412,7 @@ XmPictureClassRec xmPictureClassRec =
+ TRUE, /* compress_exposure */
+ TRUE, /* compress_enterlv */
+ FALSE, /* visible_interest */
+- Destroy, /* destroy */
++ (XtWidgetProc)Destroy, /* destroy */
+ (XtWidgetProc) Resize, /* resize */
+ (XtExposeProc)Redisplay, /* expose */
+ (XtSetValuesFunc) SetValues, /* set_values */
+--- dx-4.4.4/src/uipp/widgets/Slider.c.orig 2002-01-13 07:02:08.000000000 +0100
++++ dx-4.4.4/src/uipp/widgets/Slider.c 2026-02-06 06:26:17.738255235 +0100
+@@ -102,11 +102,10 @@ static double widgetnumber2appl( XmSlide
+ int number );
+ static int appl2widgetnumber( XmSliderWidget slider,
+ double application_number );
+-static double _dxf_round();
++static double _dxf_round(double, int);
+
+
+ extern void _XmForegroundColorDefault();
+-extern void _XmBackgroundColorDefault();
+
+ /* Declare defaults */
+ #define DEF_MIN 1
+--- dx-4.4.4/src/uipp/widgets/VCRControl.c.orig 2005-12-30 20:25:07.000000000 +0100
++++ dx-4.4.4/src/uipp/widgets/VCRControl.c 2026-02-06 17:35:34.052129394 +0100
+@@ -287,17 +287,17 @@ WidgetClass xmVCRControlWidgetClass = (W
+ #define MIN_VAL(a,b) ((a)<(b)?(a):(b))
+ #define superclass (&widgetClassRec)
+
+-static void SetLabel();
+-static void CreateVCRCounter();
+-static void VCRButtonResize();
+-static void _VCRButtonEvent();
+-static void VCRButtonEvent();
+-static void VCRButtonExpose();
+-static void VCRCounterExpose();
+-static void ReleaseVCRButton();
+-static void PushVCRButton();
+-static void ReleaseModeButtons();
+-static void ReplaceFrame();
++static void SetLabel(XmVCRControlWidget, int, char *, int, int);
++static void CreateVCRCounter(XmVCRControlWidget);
++static void VCRButtonResize(XmDrawingAreaWidget, XmVCRControlWidget, XmDrawingAreaCallbackStruct *);
++static void _VCRButtonEvent(Widget, XmVCRControlWidget, XEvent *, Boolean *);
++static void VCRButtonEvent(XmDrawingAreaWidget, XmVCRControlWidget, XmDrawingAreaCallbackStruct *);
++static void VCRButtonExpose(XmDrawingAreaWidget, XmVCRControlWidget, XmDrawingAreaCallbackStruct *);
++static void VCRCounterExpose(XmDrawingAreaWidget, XmVCRControlWidget, XmDrawingAreaCallbackStruct *);
++static void ReleaseVCRButton(XmVCRControlWidget, int);
++static void PushVCRButton(XmVCRControlWidget, int);
++static void ReleaseModeButtons(XmVCRControlWidget);
++static void ReplaceFrame(XmFrameWidget);
+ void ChangeVCRStopValue( XmVCRControlWidget vcr, int value, Boolean to_vcr,
+ Boolean to_frame_control, Boolean to_outside );
+ void ChangeVCRStartValue( XmVCRControlWidget vcr, int value, Boolean to_vcr,
+@@ -309,9 +309,9 @@ void ChangeVCRCurrentValue( XmVCRControl
+ void ChangeVCRIncrementValue( XmVCRControlWidget vcr, int increment,
+ Boolean to_vcr, Boolean to_frame_control,
+ Boolean to_outside );
+-static void PopdownCallback();
+-static void map_dialog();
+-static void FrameControlCallback();
++static void PopdownCallback(Widget, XmVCRControlWidget, XmAnyCallbackStruct *);
++static void map_dialog(Widget, XmVCRControlWidget, XmAnyCallbackStruct *);
++static void FrameControlCallback(Widget, XmVCRControlWidget, FrameControlCallbackStruct *);
+
+ /* Subroutine: Initialize
+ * Effect: Create and initialize the component widgets
+@@ -533,7 +533,7 @@ static void SimulateButtonPress(XmVCRCon
+ */
+ call_data.event->xbutton.x = -1;
+ widget = (Widget)vcr->vcr_control.button[button_num];
+- VCRButtonEvent(widget, vcr, &call_data);
++ VCRButtonEvent((XmDrawingAreaWidget)widget, vcr, &call_data);
+ XtFree((char*)call_data.event);
+
+ }
+@@ -729,11 +729,11 @@ static void SetLabel( XmVCRControlWidget
+ (void *)(&vcr->vcr_control.button_image[i]);
+
+ XtAddCallback((Widget)vcr->vcr_control.button[i], XmNexposeCallback,
+- VCRButtonExpose, vcr);
++ (XtCallbackProc)VCRButtonExpose, vcr);
+ XtAddCallback((Widget)vcr->vcr_control.button[i], XmNresizeCallback,
+- VCRButtonResize, vcr);
++ (XtCallbackProc)VCRButtonResize, vcr);
+ XtAddCallback((Widget)vcr->vcr_control.button[i], XmNinputCallback,
+- VCRButtonEvent, vcr);
++ (XtCallbackProc)VCRButtonEvent, vcr);
+ XtManageChild((Widget)vcr->vcr_control.button[i]);
+ }
+
+@@ -753,9 +753,9 @@ static void CreateVCRCounter( XmVCRContr
+ "label", wargs, 0);
+ XtManageChild((Widget)vcr->vcr_control.button[VCR_COUNT]);
+ XtAddCallback((Widget)vcr->vcr_control.button[VCR_COUNT], XmNexposeCallback,
+- VCRCounterExpose, vcr);
++ (XtCallbackProc)VCRCounterExpose, vcr);
+ XtAddCallback((Widget)vcr->vcr_control.button[VCR_COUNT], XmNinputCallback,
+- VCRButtonEvent, vcr);
++ (XtCallbackProc)VCRButtonEvent, vcr);
+
+ /* Create the label */
+ XtSetArg(wargs[0], XmNx, 10);
+@@ -798,9 +798,9 @@ static void CreateVCRCounter( XmVCRContr
+ XtManageChild((Widget)vcr->vcr_control.dot_dot_dot);
+
+ XtAddEventHandler((Widget)vcr->vcr_control.label, ButtonPressMask,
+- False, _VCRButtonEvent, vcr);
++ False, (XtEventHandler)_VCRButtonEvent, vcr);
+ XtAddEventHandler((Widget)vcr->vcr_control.dot_dot_dot, ButtonPressMask,
+- False, _VCRButtonEvent, vcr);
++ False, (XtEventHandler)_VCRButtonEvent, vcr);
+ }
+
+
+--- dx-4.4.4/src/uipp/widgets/WorkspaceW.c.orig 2006-01-05 23:55:56.000000000 +0100
++++ dx-4.4.4/src/uipp/widgets/WorkspaceW.c 2026-02-06 17:37:40.812815324 +0100
+@@ -38,7 +38,7 @@
+
+
+ /* External functions */
+-extern void ChangeWidgetInCollideList(); /* From Findroute.c */
++extern void ChangeWidgetInCollideList(XmWorkspaceWidget, Widget); /* From Findroute.c */
+
+ extern void _XmManagerEnter();
+ extern void _XmManagerFocusIn();
+@@ -2338,7 +2338,7 @@ static void Arm( XmWorkspaceWidget ww, X
+ */
+ static void Disarm( XmWorkspaceWidget ww, XEvent* event )
+ {
+-Boolean bool = True;
++Boolean bool_ = True;
+
+ if( ww->workspace.button_tracker != NULL )
+ {
+@@ -2347,7 +2347,7 @@ Boolean bool = True;
+ ww->workspace.button_tracker(ww->workspace.track_widget,
+ ww->workspace.track_client_data,
+ event
+- ,&bool
++ ,&bool_
+ );
+ }
+ else if( ww->workspace.is_rubberbanding )
+@@ -2457,7 +2457,7 @@ static void KeyboardNavigation( XmWorksp
+ */
+ static void Drag( XmWorkspaceWidget ww, XEvent* event )
+ {
+-Boolean bool = True;
++Boolean bool_ = True;
+
+ if (ww->workspace.auto_arrange) return ;
+
+@@ -2468,7 +2468,7 @@ Boolean bool = True;
+ ww->workspace.button_tracker(ww->workspace.track_widget,
+ ww->workspace.track_client_data,
+ event
+- ,&bool
++ ,&bool_
+ );
+ }
+ else if( ww->workspace.is_rubberbanding )
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/dx.git/commitdiff/356f92a2ebddff410dd34f6ff767320f5c6756ca
More information about the pld-cvs-commit
mailing list