summaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2013-03-03 01:11:10 +0000
committerjoerg <joerg@pkgsrc.org>2013-03-03 01:11:10 +0000
commit4de38674cb4002ff70be5a5c74352d2ba89e7e89 (patch)
tree9b29266543fc81f6eb480be6089e16f93c3c3de3 /cad
parentcd68d9879345950bffef0bf18f46562112053f05 (diff)
downloadpkgsrc-4de38674cb4002ff70be5a5c74352d2ba89e7e89.tar.gz
Fix inconsistent return types. Use stdarg.h more.
Diffstat (limited to 'cad')
-rw-r--r--cad/magic/distinfo56
-rw-r--r--cad/magic/patches/patch-calma_CalmaRdcl.c62
-rw-r--r--cad/magic/patches/patch-calma_CalmaRead.c118
-rw-r--r--cad/magic/patches/patch-cif_CIFrdtech.c80
-rw-r--r--cad/magic/patches/patch-cif_cif.h26
-rw-r--r--cad/magic/patches/patch-ext2sim_ext2sim.c94
-rw-r--r--cad/magic/patches/patch-ext2spice_ext2spice.c86
-rw-r--r--cad/magic/patches/patch-extflat_EFvisit.c26
-rw-r--r--cad/magic/patches/patch-grouter_grouteChan.c84
-rw-r--r--cad/magic/patches/patch-grouter_grouteDens.c26
-rw-r--r--cad/magic/patches/patch-lef_defRead.c66
-rw-r--r--cad/magic/patches/patch-mzrouter_mzDebug.c32
-rw-r--r--cad/magic/patches/patch-mzrouter_mzSearch.c26
-rw-r--r--cad/magic/patches/patch-netmenu_NMbutton.c26
-rw-r--r--cad/magic/patches/patch-netmenu_NMmain.c66
-rw-r--r--cad/magic/patches/patch-netmenu_NMnetlist.c170
-rw-r--r--cad/magic/patches/patch-netmenu_NMshowcell.c64
-rw-r--r--cad/magic/patches/patch-netmenu_NMshowpt.c38
-rw-r--r--cad/magic/patches/patch-netmenu_NMwiring.c52
-rw-r--r--cad/magic/patches/patch-netmenu_netmenu.h58
-rw-r--r--cad/magic/patches/patch-netmenu_nmInt.h100
-rw-r--r--cad/magic/patches/patch-plow_PlowMain.c72
-rw-r--r--cad/magic/patches/patch-plow_PlowRules1.c34
-rw-r--r--cad/magic/patches/patch-plow_PlowRules2.c80
-rw-r--r--cad/magic/patches/patch-textio_textio.h40
-rw-r--r--cad/magic/patches/patch-utils_LIBtextio.c64
-rw-r--r--cad/magic/patches/patch-windows_windDisp.c26
-rw-r--r--cad/magic/patches/patch-windows_windows.h26
28 files changed, 1697 insertions, 1 deletions
diff --git a/cad/magic/distinfo b/cad/magic/distinfo
index 38654d47de3..a7c5840e440 100644
--- a/cad/magic/distinfo
+++ b/cad/magic/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.14 2012/02/28 16:14:45 hans Exp $
+$NetBSD: distinfo,v 1.15 2013/03/03 01:11:10 joerg Exp $
SHA1 (magic-7.5.188.tgz) = f7a8dfb90f1d1416bdaf4b056972bc6d406c75d4
RMD160 (magic-7.5.188.tgz) = b677df676ba2aa9f9e9b211445d577a85a309e27
@@ -14,3 +14,57 @@ SHA1 (patch-ah) = adabd09e0baddbb73b747d6824112129807ce957
SHA1 (patch-ai) = cf2be159436739ca1216f2b8f7e32f514f87576d
SHA1 (patch-aj) = b5ce9aab892ec639fac5d006aa0bd3127a1a623c
SHA1 (patch-ak) = 730d99368d05cd48a3d698e51de3a64f874ea294
+SHA1 (patch-calma_CalmaRdcl.c) = 6a970e305e7c4396782b03af006ea9a129eb6b4f
+SHA1 (patch-calma_CalmaRead.c) = 37109053df7ade1febf63b1c6c8b8b9683ce7779
+SHA1 (patch-cif_CIFrdtech.c) = bb265e262087b5e133c491ab177ba0b4bd5a473b
+SHA1 (patch-cif_cif.h) = 639b45f765a33c9c0572cbf70ee31dc64de60a59
+SHA1 (patch-ext2sim_ext2sim.c) = 4a2f1752759935a6e6dde76c61bc6fb81ea47312
+SHA1 (patch-ext2spice_ext2spice.c) = a41c2b35cf6a9ff2a17d8d51311d668bb1bc6855
+SHA1 (patch-extflat_EFvisit.c) = 05f7495a0d582029415c6ea0c6833b4865659ce3
+SHA1 (patch-grouter_grouteChan.c) = 15a86fd92fe78a3f77f084e7d94afc187eca86b7
+SHA1 (patch-grouter_grouteDens.c) = 980b8b700e125bc69c28bf0ef54a5b8bb5b9a9b2
+SHA1 (patch-lef_defRead.c) = 0e41cb16bc79500d22b339d253048b512f1d0a7d
+SHA1 (patch-mzrouter_mzDebug.c) = 24c0c2ffe73070610b279d9f5c0b1574bd849419
+SHA1 (patch-mzrouter_mzSearch.c) = 6047015f35eba1d49a8b518a2e79427137c932eb
+SHA1 (patch-netmenu_NMbutton.c) = 97a19364ef4d1cf8f9cfb57e15f19cb23d2372f3
+SHA1 (patch-netmenu_NMmain.c) = f6f1945384d85ff67aebe591aa38510bf2a073b5
+SHA1 (patch-netmenu_NMnetlist.c) = 5f47fbe265bf65821715231941548bea603f6e59
+SHA1 (patch-netmenu_NMshowcell.c) = 386daf0d318a6c19c9a6394716bdabe77ca20cbf
+SHA1 (patch-netmenu_NMshowpt.c) = b78fd39a3fd447da4cd62ee35d3a2d39b7055169
+SHA1 (patch-netmenu_NMwiring.c) = f5be8e2c42448e09b362d41c44fe5ec99c2c3185
+SHA1 (patch-netmenu_netmenu.h) = 55e468da9d9dc931c0a1841a3f5fc97e17b0cbdc
+SHA1 (patch-netmenu_nmInt.h) = c740acc02d52f998a1771332d6088c05c277922f
+SHA1 (patch-plow_PlowMain.c) = 85231c66d036a7310b22eca6cac70538e38c7623
+SHA1 (patch-plow_PlowRules1.c) = 76cb7b0b0bf14e8556db1e0f76ab76ac67896a3e
+SHA1 (patch-plow_PlowRules2.c) = 64a0fbb2cd3b9aa8d5cd8d90778fcb1a4c934614
+SHA1 (patch-textio_textio.h) = 65ff52d07b7b8acd62ae78bb1441ef9dad5c0cf6
+SHA1 (patch-utils_LIBtextio.c) = 636f5ab202f5ca1bbdc8fc735bd887ce100e2ad4
+SHA1 (patch-windows_windDisp.c) = 7d9d22b016d21158b72177368c928dbd9b61d122
+SHA1 (patch-windows_windows.h) = d644b85becdb840d642fb8c20287783f97a0442e
+SHA1 (patch-calma_CalmaRdcl.c) = 6a970e305e7c4396782b03af006ea9a129eb6b4f
+SHA1 (patch-calma_CalmaRead.c) = 37109053df7ade1febf63b1c6c8b8b9683ce7779
+SHA1 (patch-cif_CIFrdtech.c) = bb265e262087b5e133c491ab177ba0b4bd5a473b
+SHA1 (patch-cif_cif.h) = 639b45f765a33c9c0572cbf70ee31dc64de60a59
+SHA1 (patch-ext2sim_ext2sim.c) = 4a2f1752759935a6e6dde76c61bc6fb81ea47312
+SHA1 (patch-ext2spice_ext2spice.c) = a41c2b35cf6a9ff2a17d8d51311d668bb1bc6855
+SHA1 (patch-extflat_EFvisit.c) = 05f7495a0d582029415c6ea0c6833b4865659ce3
+SHA1 (patch-grouter_grouteChan.c) = 15a86fd92fe78a3f77f084e7d94afc187eca86b7
+SHA1 (patch-grouter_grouteDens.c) = 980b8b700e125bc69c28bf0ef54a5b8bb5b9a9b2
+SHA1 (patch-lef_defRead.c) = 0e41cb16bc79500d22b339d253048b512f1d0a7d
+SHA1 (patch-mzrouter_mzDebug.c) = 24c0c2ffe73070610b279d9f5c0b1574bd849419
+SHA1 (patch-mzrouter_mzSearch.c) = 6047015f35eba1d49a8b518a2e79427137c932eb
+SHA1 (patch-netmenu_NMbutton.c) = 97a19364ef4d1cf8f9cfb57e15f19cb23d2372f3
+SHA1 (patch-netmenu_NMmain.c) = f6f1945384d85ff67aebe591aa38510bf2a073b5
+SHA1 (patch-netmenu_NMnetlist.c) = 5f47fbe265bf65821715231941548bea603f6e59
+SHA1 (patch-netmenu_NMshowcell.c) = 386daf0d318a6c19c9a6394716bdabe77ca20cbf
+SHA1 (patch-netmenu_NMshowpt.c) = b78fd39a3fd447da4cd62ee35d3a2d39b7055169
+SHA1 (patch-netmenu_NMwiring.c) = f5be8e2c42448e09b362d41c44fe5ec99c2c3185
+SHA1 (patch-netmenu_netmenu.h) = 55e468da9d9dc931c0a1841a3f5fc97e17b0cbdc
+SHA1 (patch-netmenu_nmInt.h) = c740acc02d52f998a1771332d6088c05c277922f
+SHA1 (patch-plow_PlowMain.c) = 85231c66d036a7310b22eca6cac70538e38c7623
+SHA1 (patch-plow_PlowRules1.c) = 76cb7b0b0bf14e8556db1e0f76ab76ac67896a3e
+SHA1 (patch-plow_PlowRules2.c) = 64a0fbb2cd3b9aa8d5cd8d90778fcb1a4c934614
+SHA1 (patch-textio_textio.h) = 65ff52d07b7b8acd62ae78bb1441ef9dad5c0cf6
+SHA1 (patch-utils_LIBtextio.c) = 636f5ab202f5ca1bbdc8fc735bd887ce100e2ad4
+SHA1 (patch-windows_windDisp.c) = 7d9d22b016d21158b72177368c928dbd9b61d122
+SHA1 (patch-windows_windows.h) = d644b85becdb840d642fb8c20287783f97a0442e
diff --git a/cad/magic/patches/patch-calma_CalmaRdcl.c b/cad/magic/patches/patch-calma_CalmaRdcl.c
new file mode 100644
index 00000000000..06afb5137fd
--- /dev/null
+++ b/cad/magic/patches/patch-calma_CalmaRdcl.c
@@ -0,0 +1,62 @@
+$NetBSD: patch-calma_CalmaRdcl.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- calma/CalmaRdcl.c.orig 2013-03-02 22:21:58.000000000 +0000
++++ calma/CalmaRdcl.c
+@@ -46,6 +46,8 @@ static char rcsid[] __attribute__ ((unus
+ #include "calma/calmaInt.h"
+ #include "calma/calma.h"
+
++void calmaReadError(char *format, ...);
++
+ int calmaNonManhattan;
+
+ extern void CIFPaintCurrent();
+@@ -53,7 +55,7 @@ extern void CIFPaintCurrent();
+ extern HashTable calmaDefInitHash;
+
+ /* forward declarations */
+-bool calmaElementSref();
++void calmaElementSref();
+ bool calmaParseElement();
+
+ /* Structure used when flattening the GDS hierarchy on read-in */
+@@ -520,7 +522,7 @@ calmaParseElement(pnsrefs, pnpaths)
+ * ----------------------------------------------------------------------------
+ */
+
+-bool
++void
+ calmaElementSref()
+ {
+ int nbytes, rtype, cols, rows, nref, n, i, savescale;
+$NetBSD: patch-calma_CalmaRdcl.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- calma/CalmaRdcl.c.orig 2013-03-02 22:21:58.000000000 +0000
++++ calma/CalmaRdcl.c
+@@ -46,6 +46,8 @@ static char rcsid[] __attribute__ ((unus
+ #include "calma/calmaInt.h"
+ #include "calma/calma.h"
+
++void calmaReadError(char *format, ...);
++
+ int calmaNonManhattan;
+
+ extern void CIFPaintCurrent();
+@@ -53,7 +55,7 @@ extern void CIFPaintCurrent();
+ extern HashTable calmaDefInitHash;
+
+ /* forward declarations */
+-bool calmaElementSref();
++void calmaElementSref();
+ bool calmaParseElement();
+
+ /* Structure used when flattening the GDS hierarchy on read-in */
+@@ -520,7 +522,7 @@ calmaParseElement(pnsrefs, pnpaths)
+ * ----------------------------------------------------------------------------
+ */
+
+-bool
++void
+ calmaElementSref()
+ {
+ int nbytes, rtype, cols, rows, nref, n, i, savescale;
diff --git a/cad/magic/patches/patch-calma_CalmaRead.c b/cad/magic/patches/patch-calma_CalmaRead.c
new file mode 100644
index 00000000000..03f115a5dd7
--- /dev/null
+++ b/cad/magic/patches/patch-calma_CalmaRead.c
@@ -0,0 +1,118 @@
+$NetBSD: patch-calma_CalmaRead.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- calma/CalmaRead.c.orig 2013-03-02 22:21:53.000000000 +0000
++++ calma/CalmaRead.c
+@@ -24,6 +24,7 @@ static char rcsid[] __attribute__ ((unus
+ #include <string.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <stdarg.h>
+
+ #include <netinet/in.h>
+
+@@ -77,6 +78,8 @@ extern void calmaUnexpected();
+
+ bool calmaParseUnits();
+
++void calmaReadError(char *format, ...);
++
+ /*
+ * Scaling.
+ * Multiply all coordinates by calmaReadScale1, then divide them
+@@ -437,10 +440,10 @@ calmaRecordName(rtype)
+ */
+
+ /*VARARGS1*/
+-calmaReadError(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
+- char *format;
+- char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9, *a10;
++void calmaReadError(char *format, ...)
+ {
++ va_list ap;
++ va_start(ap, format);
+ calmaTotalErrors++;
+ if (CIFWarningLevel == CIF_WARN_NONE) return;
+
+@@ -453,20 +456,20 @@ calmaReadError(format, a1, a2, a3, a4, a
+ {
+ fprintf(calmaErrorFile, "Error while reading cell \"%s\": ",
+ cifReadCellDef->cd_name);
+- fprintf(calmaErrorFile, format, a1, a2, a3, a4, a5, a6, a7,
+- a8, a9, a10);
++ vfprintf(calmaErrorFile, format, ap);
+ }
+ }
+ else
+ {
+ TxError("Error while reading cell \"%s\": ", cifReadCellDef->cd_name);
+- TxError(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
++ VTxError(format, ap);
+ }
+ }
+ else if ((calmaTotalErrors == 100) && (CIFWarningLevel == CIF_WARN_LIMIT))
+ {
+ TxError("Error limit set: Remaining errors will not be reported.\n");
+ }
++ va_end(ap);
+ }
+
+ /*
+$NetBSD: patch-calma_CalmaRead.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- calma/CalmaRead.c.orig 2013-03-02 22:21:53.000000000 +0000
++++ calma/CalmaRead.c
+@@ -24,6 +24,7 @@ static char rcsid[] __attribute__ ((unus
+ #include <string.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <stdarg.h>
+
+ #include <netinet/in.h>
+
+@@ -77,6 +78,8 @@ extern void calmaUnexpected();
+
+ bool calmaParseUnits();
+
++void calmaReadError(char *format, ...);
++
+ /*
+ * Scaling.
+ * Multiply all coordinates by calmaReadScale1, then divide them
+@@ -437,10 +440,10 @@ calmaRecordName(rtype)
+ */
+
+ /*VARARGS1*/
+-calmaReadError(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
+- char *format;
+- char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9, *a10;
++void calmaReadError(char *format, ...)
+ {
++ va_list ap;
++ va_start(ap, format);
+ calmaTotalErrors++;
+ if (CIFWarningLevel == CIF_WARN_NONE) return;
+
+@@ -453,20 +456,20 @@ calmaReadError(format, a1, a2, a3, a4, a
+ {
+ fprintf(calmaErrorFile, "Error while reading cell \"%s\": ",
+ cifReadCellDef->cd_name);
+- fprintf(calmaErrorFile, format, a1, a2, a3, a4, a5, a6, a7,
+- a8, a9, a10);
++ vfprintf(calmaErrorFile, format, ap);
+ }
+ }
+ else
+ {
+ TxError("Error while reading cell \"%s\": ", cifReadCellDef->cd_name);
+- TxError(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
++ VTxError(format, ap);
+ }
+ }
+ else if ((calmaTotalErrors == 100) && (CIFWarningLevel == CIF_WARN_LIMIT))
+ {
+ TxError("Error limit set: Remaining errors will not be reported.\n");
+ }
++ va_end(ap);
+ }
+
+ /*
diff --git a/cad/magic/patches/patch-cif_CIFrdtech.c b/cad/magic/patches/patch-cif_CIFrdtech.c
new file mode 100644
index 00000000000..150ac0a7330
--- /dev/null
+++ b/cad/magic/patches/patch-cif_CIFrdtech.c
@@ -0,0 +1,80 @@
+$NetBSD: patch-cif_CIFrdtech.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- cif/CIFrdtech.c.orig 2013-03-02 22:29:11.000000000 +0000
++++ cif/CIFrdtech.c
+@@ -39,6 +39,7 @@ static char rcsid[] __attribute__ ((unus
+ #include "cif/CIFread.h"
+ #include "calma/calmaInt.h"
+ #include "utils/malloc.h"
++#include "cif/cif.h"
+
+ /* Pointer to a list of all the CIF-reading styles: */
+
+@@ -1181,17 +1182,15 @@ cifParseCalmaNums(str, numArray, numNums
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-CIFTechInputScale(n, d, opt)
+- int n, d;
+- bool opt;
++void
++CIFTechInputScale(int n, int d, bool opt)
+ {
+ CIFReadStyle *istyle = cifCurReadStyle;
+ CIFReadLayer *cl;
+ CIFOp *op;
+ int lmult, i, lgcf;
+
+- if (istyle == NULL) return 0;
++ if (istyle == NULL) return;
+
+ /* fprintf(stderr, "CIF input style %s:\n", istyle->crs_name); */
+
+@@ -1244,6 +1243,5 @@ CIFTechInputScale(n, d, opt)
+ op->co_distance /= lmult;
+ }
+ }
+- return lmult;
+ }
+
+$NetBSD: patch-cif_CIFrdtech.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- cif/CIFrdtech.c.orig 2013-03-02 22:29:11.000000000 +0000
++++ cif/CIFrdtech.c
+@@ -39,6 +39,7 @@ static char rcsid[] __attribute__ ((unus
+ #include "cif/CIFread.h"
+ #include "calma/calmaInt.h"
+ #include "utils/malloc.h"
++#include "cif/cif.h"
+
+ /* Pointer to a list of all the CIF-reading styles: */
+
+@@ -1181,17 +1182,15 @@ cifParseCalmaNums(str, numArray, numNums
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-CIFTechInputScale(n, d, opt)
+- int n, d;
+- bool opt;
++void
++CIFTechInputScale(int n, int d, bool opt)
+ {
+ CIFReadStyle *istyle = cifCurReadStyle;
+ CIFReadLayer *cl;
+ CIFOp *op;
+ int lmult, i, lgcf;
+
+- if (istyle == NULL) return 0;
++ if (istyle == NULL) return;
+
+ /* fprintf(stderr, "CIF input style %s:\n", istyle->crs_name); */
+
+@@ -1244,6 +1243,5 @@ CIFTechInputScale(n, d, opt)
+ op->co_distance /= lmult;
+ }
+ }
+- return lmult;
+ }
+
diff --git a/cad/magic/patches/patch-cif_cif.h b/cad/magic/patches/patch-cif_cif.h
new file mode 100644
index 00000000000..5ee31455e05
--- /dev/null
+++ b/cad/magic/patches/patch-cif_cif.h
@@ -0,0 +1,26 @@
+$NetBSD: patch-cif_cif.h,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- cif/cif.h.orig 2013-03-02 22:30:15.000000000 +0000
++++ cif/cif.h
+@@ -50,7 +50,7 @@ extern void CIFTechInit();
+ extern bool CIFTechLine();
+ extern void CIFTechFinal();
+ extern void CIFTechOutputScale();
+-extern void CIFTechInputScale();
++extern void CIFTechInputScale(int, int, bool);
+ extern bool CIFTechLimitScale();
+ extern void CIFReadTechStyleInit();
+ extern void CIFReadTechInit();
+$NetBSD: patch-cif_cif.h,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- cif/cif.h.orig 2013-03-02 22:30:15.000000000 +0000
++++ cif/cif.h
+@@ -50,7 +50,7 @@ extern void CIFTechInit();
+ extern bool CIFTechLine();
+ extern void CIFTechFinal();
+ extern void CIFTechOutputScale();
+-extern void CIFTechInputScale();
++extern void CIFTechInputScale(int, int, bool);
+ extern bool CIFTechLimitScale();
+ extern void CIFReadTechStyleInit();
+ extern void CIFReadTechInit();
diff --git a/cad/magic/patches/patch-ext2sim_ext2sim.c b/cad/magic/patches/patch-ext2sim_ext2sim.c
new file mode 100644
index 00000000000..2055409138b
--- /dev/null
+++ b/cad/magic/patches/patch-ext2sim_ext2sim.c
@@ -0,0 +1,94 @@
+$NetBSD: patch-ext2sim_ext2sim.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- ext2sim/ext2sim.c.orig 2013-03-02 22:16:49.000000000 +0000
++++ ext2sim/ext2sim.c
+@@ -171,6 +171,11 @@ devMerge *devMergeList = NULL ;
+ /* Forward declaration */
+ int _ext2sim_start();
+
++static void
++simdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf);
++static void
++simdevSubstrate( HierName *prefix, HierName *suffix, int type, int scale, bool doAP, FILE *outf);
++
+ /*
+ * ----------------------------------------------------------------------------
+ *
+@@ -1161,13 +1166,8 @@ simdevVisit(dev, hierName, trans)
+ return 0;
+ }
+
+-int
+-simdevSubstrate( prefix, suffix, type, scale, doAP, outf)
+-HierName *prefix;
+-HierName *suffix;
+-int type, scale;
+-bool doAP;
+-FILE *outf;
++static void
++simdevSubstrate( HierName *prefix, HierName *suffix, int type, int scale, bool doAP, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
+@@ -1305,12 +1305,8 @@ bool simnAPHier(dterm, hierName, resClas
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-simdevOutNode(prefix, suffix, name, outf)
+- HierName *prefix;
+- HierName *suffix;
+- char *name;
+- FILE *outf;
++static void
++simdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
+$NetBSD: patch-ext2sim_ext2sim.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- ext2sim/ext2sim.c.orig 2013-03-02 22:16:49.000000000 +0000
++++ ext2sim/ext2sim.c
+@@ -171,6 +171,11 @@ devMerge *devMergeList = NULL ;
+ /* Forward declaration */
+ int _ext2sim_start();
+
++static void
++simdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf);
++static void
++simdevSubstrate( HierName *prefix, HierName *suffix, int type, int scale, bool doAP, FILE *outf);
++
+ /*
+ * ----------------------------------------------------------------------------
+ *
+@@ -1161,13 +1166,8 @@ simdevVisit(dev, hierName, trans)
+ return 0;
+ }
+
+-int
+-simdevSubstrate( prefix, suffix, type, scale, doAP, outf)
+-HierName *prefix;
+-HierName *suffix;
+-int type, scale;
+-bool doAP;
+-FILE *outf;
++static void
++simdevSubstrate( HierName *prefix, HierName *suffix, int type, int scale, bool doAP, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
+@@ -1305,12 +1305,8 @@ bool simnAPHier(dterm, hierName, resClas
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-simdevOutNode(prefix, suffix, name, outf)
+- HierName *prefix;
+- HierName *suffix;
+- char *name;
+- FILE *outf;
++static void
++simdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
diff --git a/cad/magic/patches/patch-ext2spice_ext2spice.c b/cad/magic/patches/patch-ext2spice_ext2spice.c
new file mode 100644
index 00000000000..8f626a1c269
--- /dev/null
+++ b/cad/magic/patches/patch-ext2spice_ext2spice.c
@@ -0,0 +1,86 @@
+$NetBSD: patch-ext2spice_ext2spice.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- ext2spice/ext2spice.c.orig 2013-03-02 22:14:04.000000000 +0000
++++ ext2spice/ext2spice.c
+@@ -223,6 +223,8 @@ devMerge *devMergeList = NULL ;
+
+
+ void topVisit();
++void spcnAP(EFNode *node, int resClass, int scale, char *sterm, float m, FILE *outf, int w);
++void spcdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf);
+
+ #ifdef MAGIC_WRAPPER
+
+@@ -2084,13 +2086,7 @@ FILE *outf;
+ *
+ * ----------------------------------------------------------------------------
+ */
+-int spcnAP(node, resClass, scale, sterm, m, outf, w)
+- EFNode *node;
+- int resClass, scale;
+- char *sterm;
+- float m;
+- FILE *outf;
+- int w;
++void spcnAP(EFNode *node, int resClass, int scale, char *sterm, float m, FILE *outf, int w)
+ {
+ char fmt[30];
+ float dsc ;
+@@ -2191,12 +2187,8 @@ int spcnAPHier(dterm, hierName, resClass
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-spcdevOutNode(prefix, suffix, name, outf)
+- HierName *prefix;
+- HierName *suffix;
+- char *name;
+- FILE *outf;
++void
++spcdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
+$NetBSD: patch-ext2spice_ext2spice.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- ext2spice/ext2spice.c.orig 2013-03-02 22:14:04.000000000 +0000
++++ ext2spice/ext2spice.c
+@@ -223,6 +223,8 @@ devMerge *devMergeList = NULL ;
+
+
+ void topVisit();
++void spcnAP(EFNode *node, int resClass, int scale, char *sterm, float m, FILE *outf, int w);
++void spcdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf);
+
+ #ifdef MAGIC_WRAPPER
+
+@@ -2084,13 +2086,7 @@ FILE *outf;
+ *
+ * ----------------------------------------------------------------------------
+ */
+-int spcnAP(node, resClass, scale, sterm, m, outf, w)
+- EFNode *node;
+- int resClass, scale;
+- char *sterm;
+- float m;
+- FILE *outf;
+- int w;
++void spcnAP(EFNode *node, int resClass, int scale, char *sterm, float m, FILE *outf, int w)
+ {
+ char fmt[30];
+ float dsc ;
+@@ -2191,12 +2187,8 @@ int spcnAPHier(dterm, hierName, resClass
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-spcdevOutNode(prefix, suffix, name, outf)
+- HierName *prefix;
+- HierName *suffix;
+- char *name;
+- FILE *outf;
++void
++spcdevOutNode(HierName *prefix, HierName *suffix, char *name, FILE *outf)
+ {
+ HashEntry *he;
+ EFNodeName *nn;
diff --git a/cad/magic/patches/patch-extflat_EFvisit.c b/cad/magic/patches/patch-extflat_EFvisit.c
new file mode 100644
index 00000000000..45e6a38349d
--- /dev/null
+++ b/cad/magic/patches/patch-extflat_EFvisit.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-extflat_EFvisit.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- extflat/EFvisit.c.orig 2013-03-02 22:43:10.000000000 +0000
++++ extflat/EFvisit.c
+@@ -576,7 +576,7 @@ efVisitSingleResist(hc, name1, name2, re
+ return 0;
+
+ if ((he = EFHNLook(hc->hc_hierName, name2, "resist(2)")) == NULL)
+- return;
++ return 0;
+ n2 = ((EFNodeName *) HashGetValue(he))->efnn_node;
+ if (n2->efnode_flags & EF_KILLED)
+ return 0;
+$NetBSD: patch-extflat_EFvisit.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- extflat/EFvisit.c.orig 2013-03-02 22:43:10.000000000 +0000
++++ extflat/EFvisit.c
+@@ -576,7 +576,7 @@ efVisitSingleResist(hc, name1, name2, re
+ return 0;
+
+ if ((he = EFHNLook(hc->hc_hierName, name2, "resist(2)")) == NULL)
+- return;
++ return 0;
+ n2 = ((EFNodeName *) HashGetValue(he))->efnn_node;
+ if (n2->efnode_flags & EF_KILLED)
+ return 0;
diff --git a/cad/magic/patches/patch-grouter_grouteChan.c b/cad/magic/patches/patch-grouter_grouteChan.c
new file mode 100644
index 00000000000..20eb385db31
--- /dev/null
+++ b/cad/magic/patches/patch-grouter_grouteChan.c
@@ -0,0 +1,84 @@
+$NetBSD: patch-grouter_grouteChan.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- grouter/grouteChan.c.orig 2013-03-02 22:19:28.000000000 +0000
++++ grouter/grouteChan.c
+@@ -131,6 +131,11 @@ PaintArea *glChanPaintList;
+ * ----------------------------------------------------------------------------
+ */
+
++static void
++glChanShowTiles(char *mesg);
++static void
++glChanShowFunc(Tile *tile);
++
+ void
+ glChanBuildMap(chanList)
+ GCRChannel *chanList; /* List of all channels in routing problem */
+@@ -435,11 +440,9 @@ glChanSetClient(tile, cdata)
+ return 0;
+ }
+
+-int
+-glChanShowTiles(mesg)
+- char *mesg;
++static void
++glChanShowTiles(char *mesg)
+ {
+- int glChanShowFunc();
+ char answer[100], m[1024];
+
+ DBWAreaChanged(glChanDef, &TiPlaneRect, DBW_ALLWINDOWS, 0);
+@@ -452,9 +455,8 @@ glChanShowTiles(mesg)
+ &DBAllTypeBits, glChanShowFunc, (ClientData) NULL);
+ }
+
+-int
+-glChanShowFunc(tile)
+- Tile *tile;
++static void
++glChanShowFunc(Tile *tile)
+ {
+ GCRChannel *ch;
+ char mesg[1024];
+$NetBSD: patch-grouter_grouteChan.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- grouter/grouteChan.c.orig 2013-03-02 22:19:28.000000000 +0000
++++ grouter/grouteChan.c
+@@ -131,6 +131,11 @@ PaintArea *glChanPaintList;
+ * ----------------------------------------------------------------------------
+ */
+
++static void
++glChanShowTiles(char *mesg);
++static void
++glChanShowFunc(Tile *tile);
++
+ void
+ glChanBuildMap(chanList)
+ GCRChannel *chanList; /* List of all channels in routing problem */
+@@ -435,11 +440,9 @@ glChanSetClient(tile, cdata)
+ return 0;
+ }
+
+-int
+-glChanShowTiles(mesg)
+- char *mesg;
++static void
++glChanShowTiles(char *mesg)
+ {
+- int glChanShowFunc();
+ char answer[100], m[1024];
+
+ DBWAreaChanged(glChanDef, &TiPlaneRect, DBW_ALLWINDOWS, 0);
+@@ -452,9 +455,8 @@ glChanShowTiles(mesg)
+ &DBAllTypeBits, glChanShowFunc, (ClientData) NULL);
+ }
+
+-int
+-glChanShowFunc(tile)
+- Tile *tile;
++static void
++glChanShowFunc(Tile *tile)
+ {
+ GCRChannel *ch;
+ char mesg[1024];
diff --git a/cad/magic/patches/patch-grouter_grouteDens.c b/cad/magic/patches/patch-grouter_grouteDens.c
new file mode 100644
index 00000000000..57c0d275e7d
--- /dev/null
+++ b/cad/magic/patches/patch-grouter_grouteDens.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-grouter_grouteDens.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- grouter/grouteDens.c.orig 2013-03-02 22:20:54.000000000 +0000
++++ grouter/grouteDens.c
+@@ -78,7 +78,7 @@ glDensAdjust(dens, srcPin, dstPin, netid
+ ASSERT(srcPin->gcr_ch == dstPin->gcr_ch, "glDensAdjust");
+
+ if (DebugIsSet(glDebugID, glDebGreedy))
+- return;
++ return FALSE;
+
+ /*
+ * Find the first and last column where this net (netId)
+$NetBSD: patch-grouter_grouteDens.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- grouter/grouteDens.c.orig 2013-03-02 22:20:54.000000000 +0000
++++ grouter/grouteDens.c
+@@ -78,7 +78,7 @@ glDensAdjust(dens, srcPin, dstPin, netid
+ ASSERT(srcPin->gcr_ch == dstPin->gcr_ch, "glDensAdjust");
+
+ if (DebugIsSet(glDebugID, glDebGreedy))
+- return;
++ return FALSE;
+
+ /*
+ * Find the first and last column where this net (netId)
diff --git a/cad/magic/patches/patch-lef_defRead.c b/cad/magic/patches/patch-lef_defRead.c
new file mode 100644
index 00000000000..3573fd1d993
--- /dev/null
+++ b/cad/magic/patches/patch-lef_defRead.c
@@ -0,0 +1,66 @@
+$NetBSD: patch-lef_defRead.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- lef/defRead.c.orig 2013-03-02 22:27:45.000000000 +0000
++++ lef/defRead.c
+@@ -568,12 +568,8 @@ enum def_orient {DEF_NORTH, DEF_SOUTH, D
+ DEF_FLIPPED_NORTH, DEF_FLIPPED_SOUTH, DEF_FLIPPED_EAST,
+ DEF_FLIPPED_WEST};
+
+-int
+-DefReadLocation(use, f, oscale, tptr)
+- CellUse *use;
+- FILE *f;
+- float oscale;
+- Transform *tptr;
++static void
++DefReadLocation(CellUse *use, FILE *f, float oscale, Transform *tptr)
+ {
+ Rect *r, tr;
+ int keyword;
+@@ -645,11 +641,11 @@ DefReadLocation(use, f, oscale, tptr)
+ GeoTranslateTrans(&t2, (int)roundf(x / oscale), (int)roundf(y / oscale), tptr);
+ if (use)
+ DBSetTrans(use, tptr);
+- return 0;
++ return;
+
+ parse_error:
+ LefError("Cannot parse location: must be ( X Y ) orient\n");
+- return -1;
++ return;
+ }
+
+ /*
+$NetBSD: patch-lef_defRead.c,v 1.1 2013/03/03 01:11:10 joerg Exp $
+
+--- lef/defRead.c.orig 2013-03-02 22:27:45.000000000 +0000
++++ lef/defRead.c
+@@ -568,12 +568,8 @@ enum def_orient {DEF_NORTH, DEF_SOUTH, D
+ DEF_FLIPPED_NORTH, DEF_FLIPPED_SOUTH, DEF_FLIPPED_EAST,
+ DEF_FLIPPED_WEST};
+
+-int
+-DefReadLocation(use, f, oscale, tptr)
+- CellUse *use;
+- FILE *f;
+- float oscale;
+- Transform *tptr;
++static void
++DefReadLocation(CellUse *use, FILE *f, float oscale, Transform *tptr)
+ {
+ Rect *r, tr;
+ int keyword;
+@@ -645,11 +641,11 @@ DefReadLocation(use, f, oscale, tptr)
+ GeoTranslateTrans(&t2, (int)roundf(x / oscale), (int)roundf(y / oscale), tptr);
+ if (use)
+ DBSetTrans(use, tptr);
+- return 0;
++ return;
+
+ parse_error:
+ LefError("Cannot parse location: must be ( X Y ) orient\n");
+- return -1;
++ return;
+ }
+
+ /*
diff --git a/cad/magic/patches/patch-mzrouter_mzDebug.c b/cad/magic/patches/patch-mzrouter_mzDebug.c
new file mode 100644
index 00000000000..b3f97c3a7c9
--- /dev/null
+++ b/cad/magic/patches/patch-mzrouter_mzDebug.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-mzrouter_mzDebug.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- mzrouter/mzDebug.c.orig 2013-03-02 22:18:25.000000000 +0000
++++ mzrouter/mzDebug.c
+@@ -412,9 +412,8 @@ mzPrintRP(path)
+ }
+
+ /* mzPrintPathHead -- */
+-int
+-mzPrintPathHead(path)
+- RoutePath *path;
++void
++mzPrintPathHead(RoutePath *path)
+ {
+
+ if(path==NULL)
+$NetBSD: patch-mzrouter_mzDebug.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- mzrouter/mzDebug.c.orig 2013-03-02 22:18:25.000000000 +0000
++++ mzrouter/mzDebug.c
+@@ -412,9 +412,8 @@ mzPrintRP(path)
+ }
+
+ /* mzPrintPathHead -- */
+-int
+-mzPrintPathHead(path)
+- RoutePath *path;
++void
++mzPrintPathHead(RoutePath *path)
+ {
+
+ if(path==NULL)
diff --git a/cad/magic/patches/patch-mzrouter_mzSearch.c b/cad/magic/patches/patch-mzrouter_mzSearch.c
new file mode 100644
index 00000000000..ed7701e888b
--- /dev/null
+++ b/cad/magic/patches/patch-mzrouter_mzSearch.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-mzrouter_mzSearch.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- mzrouter/mzSearch.c.orig 2013-03-02 22:18:40.000000000 +0000
++++ mzrouter/mzSearch.c
+@@ -154,6 +154,8 @@ extern void mzBloomInit();
+ extern void mzMakeStatReport();
+ extern void mzExtendPath(RoutePath *);
+
++void mzPrintPathHead(RoutePath *path);
++
+
+ /*
+ * ----------------------------------------------------------------------------
+$NetBSD: patch-mzrouter_mzSearch.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- mzrouter/mzSearch.c.orig 2013-03-02 22:18:40.000000000 +0000
++++ mzrouter/mzSearch.c
+@@ -154,6 +154,8 @@ extern void mzBloomInit();
+ extern void mzMakeStatReport();
+ extern void mzExtendPath(RoutePath *);
+
++void mzPrintPathHead(RoutePath *path);
++
+
+ /*
+ * ----------------------------------------------------------------------------
diff --git a/cad/magic/patches/patch-netmenu_NMbutton.c b/cad/magic/patches/patch-netmenu_NMbutton.c
new file mode 100644
index 00000000000..13e918c1341
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMbutton.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-netmenu_NMbutton.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMbutton.c.orig 2013-03-02 22:48:07.000000000 +0000
++++ netmenu/NMbutton.c
+@@ -79,7 +79,7 @@ NMButtonNetList(window, cmd, nmButton, p
+ else
+ {
+ TxPrintf("New net list name: ");
+- if (TxGetLine(newName, MAXLENGTH) == NULL) newName[0] == 0;
++ if (TxGetLine(newName, MAXLENGTH) == NULL) newName[0] = 0;
+ if (newName[0] == 0) return;
+ NMNewNetlist(newName);
+ }
+$NetBSD: patch-netmenu_NMbutton.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMbutton.c.orig 2013-03-02 22:48:07.000000000 +0000
++++ netmenu/NMbutton.c
+@@ -79,7 +79,7 @@ NMButtonNetList(window, cmd, nmButton, p
+ else
+ {
+ TxPrintf("New net list name: ");
+- if (TxGetLine(newName, MAXLENGTH) == NULL) newName[0] == 0;
++ if (TxGetLine(newName, MAXLENGTH) == NULL) newName[0] = 0;
+ if (newName[0] == 0) return;
+ NMNewNetlist(newName);
+ }
diff --git a/cad/magic/patches/patch-netmenu_NMmain.c b/cad/magic/patches/patch-netmenu_NMmain.c
new file mode 100644
index 00000000000..427918fcb19
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMmain.c
@@ -0,0 +1,66 @@
+$NetBSD: patch-netmenu_NMmain.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMmain.c.orig 2013-03-02 22:39:15.000000000 +0000
++++ netmenu/NMmain.c
+@@ -238,13 +238,8 @@ NMreposition(window, newScreenArea, fina
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMredisplay(w, rootArea, clipArea)
+- MagWindow *w; /* The window containing the area. */
+- Rect *rootArea; /* Redisplay area in surface coordinates. */
+- Rect *clipArea; /* Screen area to clip to. If NULL, use
+- * screen area of window. */
+-
++void
++NMredisplay(MagWindow *w, Rect *rootArea, Rect *clipArea)
+ {
+ Rect clip, screenR;
+ Point screenP;
+@@ -356,10 +351,8 @@ NMredisplay(w, rootArea, clipArea)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMcommand(w, cmd)
+- MagWindow *w; /* Net-list menu window. */
+- TxCommand *cmd;
++void
++NMcommand(MagWindow *w, TxCommand *cmd)
+ {
+ NetButton *nb;
+ Point surfacePoint;
+$NetBSD: patch-netmenu_NMmain.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMmain.c.orig 2013-03-02 22:39:15.000000000 +0000
++++ netmenu/NMmain.c
+@@ -238,13 +238,8 @@ NMreposition(window, newScreenArea, fina
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMredisplay(w, rootArea, clipArea)
+- MagWindow *w; /* The window containing the area. */
+- Rect *rootArea; /* Redisplay area in surface coordinates. */
+- Rect *clipArea; /* Screen area to clip to. If NULL, use
+- * screen area of window. */
+-
++void
++NMredisplay(MagWindow *w, Rect *rootArea, Rect *clipArea)
+ {
+ Rect clip, screenR;
+ Point screenP;
+@@ -356,10 +351,8 @@ NMredisplay(w, rootArea, clipArea)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMcommand(w, cmd)
+- MagWindow *w; /* Net-list menu window. */
+- TxCommand *cmd;
++void
++NMcommand(MagWindow *w, TxCommand *cmd)
+ {
+ NetButton *nb;
+ Point surfacePoint;
diff --git a/cad/magic/patches/patch-netmenu_NMnetlist.c b/cad/magic/patches/patch-netmenu_NMnetlist.c
new file mode 100644
index 00000000000..10ad71946fa
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMnetlist.c
@@ -0,0 +1,170 @@
+$NetBSD: patch-netmenu_NMnetlist.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMnetlist.c.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/NMnetlist.c
+@@ -216,9 +216,8 @@ NMAddTerm(new, other)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMDeleteTerm(name)
+- char *name; /* Name of a terminal. */
++void
++NMDeleteTerm(char *name)
+ {
+ HashEntry *h;
+ NetEntry *entry;
+@@ -256,10 +255,8 @@ NMDeleteTerm(name)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMJoinNets(termA, termB)
+- char *termA; /* Name of a terminal in first net. */
+- char *termB; /* Name of a terminal in second net. */
++void
++NMJoinNets(char *termA, char *termB)
+ {
+ HashEntry *ha, *hb;
+ NetEntry *netA, *netB, *tmp;
+@@ -327,11 +324,8 @@ NMJoinNets(termA, termB)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMDeleteNet(net)
+- char *net; /* Name of one of the terminals in the net
+- * to be deleted.
+- */
++void
++NMDeleteNet(char *net)
+ {
+ HashEntry *h;
+ NetEntry *ne, *next;
+@@ -377,12 +371,8 @@ NMDeleteNet(net)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMNewNetlist(name)
+- char *name; /* Name of the netlist file. If NULL,
+- * then the netlist file association
+- * is eliminated.
+- */
++void
++NMNewNetlist(char *name)
+ {
+ Netlist *new;
+ FILE *file;
+@@ -741,13 +731,8 @@ NMTermInList(name)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMWriteNetlist(fileName)
+- char *fileName; /* If non-NULL, gives name of file in
+- * which to write current netlist. If NULL,
+- * the netlist gets written to the place
+- * from which it was read.
+- */
++void
++NMWriteNetlist(char *fileName)
+ {
+ FILE *file;
+ int nmWriteNetsFunc();
+@@ -876,8 +861,8 @@ NMCheckWritten()
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMWriteAll()
++void
++NMWriteAll(void)
+ {
+ Netlist *nl, *saveCurrent;
+ static char *(options[]) = {"write", "skip", "abort", NULL};
+$NetBSD: patch-netmenu_NMnetlist.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMnetlist.c.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/NMnetlist.c
+@@ -216,9 +216,8 @@ NMAddTerm(new, other)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMDeleteTerm(name)
+- char *name; /* Name of a terminal. */
++void
++NMDeleteTerm(char *name)
+ {
+ HashEntry *h;
+ NetEntry *entry;
+@@ -256,10 +255,8 @@ NMDeleteTerm(name)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMJoinNets(termA, termB)
+- char *termA; /* Name of a terminal in first net. */
+- char *termB; /* Name of a terminal in second net. */
++void
++NMJoinNets(char *termA, char *termB)
+ {
+ HashEntry *ha, *hb;
+ NetEntry *netA, *netB, *tmp;
+@@ -327,11 +324,8 @@ NMJoinNets(termA, termB)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMDeleteNet(net)
+- char *net; /* Name of one of the terminals in the net
+- * to be deleted.
+- */
++void
++NMDeleteNet(char *net)
+ {
+ HashEntry *h;
+ NetEntry *ne, *next;
+@@ -377,12 +371,8 @@ NMDeleteNet(net)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMNewNetlist(name)
+- char *name; /* Name of the netlist file. If NULL,
+- * then the netlist file association
+- * is eliminated.
+- */
++void
++NMNewNetlist(char *name)
+ {
+ Netlist *new;
+ FILE *file;
+@@ -741,13 +731,8 @@ NMTermInList(name)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMWriteNetlist(fileName)
+- char *fileName; /* If non-NULL, gives name of file in
+- * which to write current netlist. If NULL,
+- * the netlist gets written to the place
+- * from which it was read.
+- */
++void
++NMWriteNetlist(char *fileName)
+ {
+ FILE *file;
+ int nmWriteNetsFunc();
+@@ -876,8 +861,8 @@ NMCheckWritten()
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMWriteAll()
++void
++NMWriteAll(void)
+ {
+ Netlist *nl, *saveCurrent;
+ static char *(options[]) = {"write", "skip", "abort", NULL};
diff --git a/cad/magic/patches/patch-netmenu_NMshowcell.c b/cad/magic/patches/patch-netmenu_NMshowcell.c
new file mode 100644
index 00000000000..dd5859f9574
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMshowcell.c
@@ -0,0 +1,64 @@
+$NetBSD: patch-netmenu_NMshowcell.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMshowcell.c.orig 2013-03-02 22:58:33.000000000 +0000
++++ netmenu/NMshowcell.c
+@@ -77,13 +77,8 @@ static CellDef *nmscShowDef = NULL;
+ static Plane *nmscPlane; /* Shared between procs below. */
+ extern int nmscRedrawFunc(); /* Forward declaration. */
+
+-int
+-NMRedrawCell(window, plane)
+- MagWindow *window; /* Window in which to redisplay. */
+- Plane *plane; /* Non-space tiles on this plane indicate,
+- * in root cell coordinates, the areas where
+- * highlight information must be redrawn.
+- */
++void
++NMRedrawCell(MagWindow *window, Plane *plane)
+ {
+ int i;
+ Rect area;
+@@ -319,9 +314,8 @@ NMShowUnderBox()
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMShowRoutedNet(netName)
+- char * netName;
++void
++NMShowRoutedNet(char *netName)
+ {
+ int nmShowRoutedNetFunc();
+
+$NetBSD: patch-netmenu_NMshowcell.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMshowcell.c.orig 2013-03-02 22:58:33.000000000 +0000
++++ netmenu/NMshowcell.c
+@@ -77,13 +77,8 @@ static CellDef *nmscShowDef = NULL;
+ static Plane *nmscPlane; /* Shared between procs below. */
+ extern int nmscRedrawFunc(); /* Forward declaration. */
+
+-int
+-NMRedrawCell(window, plane)
+- MagWindow *window; /* Window in which to redisplay. */
+- Plane *plane; /* Non-space tiles on this plane indicate,
+- * in root cell coordinates, the areas where
+- * highlight information must be redrawn.
+- */
++void
++NMRedrawCell(MagWindow *window, Plane *plane)
+ {
+ int i;
+ Rect area;
+@@ -319,9 +314,8 @@ NMShowUnderBox()
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMShowRoutedNet(netName)
+- char * netName;
++void
++NMShowRoutedNet(char *netName)
+ {
+ int nmShowRoutedNetFunc();
+
diff --git a/cad/magic/patches/patch-netmenu_NMshowpt.c b/cad/magic/patches/patch-netmenu_NMshowpt.c
new file mode 100644
index 00000000000..540f75a47d1
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMshowpt.c
@@ -0,0 +1,38 @@
+$NetBSD: patch-netmenu_NMshowpt.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMshowpt.c.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/NMshowpt.c
+@@ -71,12 +71,8 @@ static int nmspArrayUsed = 0; /* Number
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMRedrawPoints(window, plane)
+- MagWindow *window; /* Window in which to redisplay. */
+- Plane *plane; /* Non-space tiles on this plane indicate
+- * the areas where highlights must be redrawn.
+- */
++void
++NMRedrawPoints(MagWindow *window, Plane *plane)
+ {
+ int i;
+ Rect dbArea, screen;
+$NetBSD: patch-netmenu_NMshowpt.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMshowpt.c.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/NMshowpt.c
+@@ -71,12 +71,8 @@ static int nmspArrayUsed = 0; /* Number
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMRedrawPoints(window, plane)
+- MagWindow *window; /* Window in which to redisplay. */
+- Plane *plane; /* Non-space tiles on this plane indicate
+- * the areas where highlights must be redrawn.
+- */
++void
++NMRedrawPoints(MagWindow *window, Plane *plane)
+ {
+ int i;
+ Rect dbArea, screen;
diff --git a/cad/magic/patches/patch-netmenu_NMwiring.c b/cad/magic/patches/patch-netmenu_NMwiring.c
new file mode 100644
index 00000000000..7c9da288b31
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_NMwiring.c
@@ -0,0 +1,52 @@
+$NetBSD: patch-netmenu_NMwiring.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMwiring.c.orig 2013-03-02 23:01:19.000000000 +0000
++++ netmenu/NMwiring.c
+@@ -152,8 +152,8 @@ nmwRipTileFunc(tile, plane, listHead)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMRipup()
++void
++NMRipup(void)
+ {
+ struct nmwarea *list;
+ Rect area;
+@@ -531,8 +531,8 @@ nmwNetTileFunc(tile, plane, netPtr)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMExtract()
++void
++NMExtract(void)
+ {
+ Rect area;
+ char *net = NULL;
+$NetBSD: patch-netmenu_NMwiring.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/NMwiring.c.orig 2013-03-02 23:01:19.000000000 +0000
++++ netmenu/NMwiring.c
+@@ -152,8 +152,8 @@ nmwRipTileFunc(tile, plane, listHead)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMRipup()
++void
++NMRipup(void)
+ {
+ struct nmwarea *list;
+ Rect area;
+@@ -531,8 +531,8 @@ nmwNetTileFunc(tile, plane, netPtr)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-NMExtract()
++void
++NMExtract(void)
+ {
+ Rect area;
+ char *net = NULL;
diff --git a/cad/magic/patches/patch-netmenu_netmenu.h b/cad/magic/patches/patch-netmenu_netmenu.h
new file mode 100644
index 00000000000..6e0e376d272
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_netmenu.h
@@ -0,0 +1,58 @@
+$NetBSD: patch-netmenu_netmenu.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/netmenu.h.orig 2013-03-02 22:53:01.000000000 +0000
++++ netmenu/netmenu.h
+@@ -32,12 +32,7 @@
+
+ extern void NMinit();
+ extern void NMUnsetCell();
+-extern int NMNewNetlist();
+-extern int NMWriteNetlist();
+ extern char *NMAddTerm();
+-extern int NMDeleteTerm();
+-extern int NMJoinNets();
+-extern int NMDeleteNet();
+ extern int NMEnumNets();
+ extern int NMEnumTerms();
+ extern char *NMNthNet();
+@@ -47,6 +42,11 @@ extern bool NMHasList();
+ extern void NMFlushNetlist();
+ extern char *NMNetlistName();
+
++void NMJoinNets(char *termA, char *termB);
++void NMDeleteNet(char *net);
++void NMNewNetlist(char *name);
++void NMWriteNetlist(char *fileName);
++
+ /* button functions, now exported to the command-line "netlist" command */
+ extern void NMButtonLeft();
+ extern void NMButtonMiddle();
+$NetBSD: patch-netmenu_netmenu.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/netmenu.h.orig 2013-03-02 22:53:01.000000000 +0000
++++ netmenu/netmenu.h
+@@ -32,12 +32,7 @@
+
+ extern void NMinit();
+ extern void NMUnsetCell();
+-extern int NMNewNetlist();
+-extern int NMWriteNetlist();
+ extern char *NMAddTerm();
+-extern int NMDeleteTerm();
+-extern int NMJoinNets();
+-extern int NMDeleteNet();
+ extern int NMEnumNets();
+ extern int NMEnumTerms();
+ extern char *NMNthNet();
+@@ -47,6 +42,11 @@ extern bool NMHasList();
+ extern void NMFlushNetlist();
+ extern char *NMNetlistName();
+
++void NMJoinNets(char *termA, char *termB);
++void NMDeleteNet(char *net);
++void NMNewNetlist(char *name);
++void NMWriteNetlist(char *fileName);
++
+ /* button functions, now exported to the command-line "netlist" command */
+ extern void NMButtonLeft();
+ extern void NMButtonMiddle();
diff --git a/cad/magic/patches/patch-netmenu_nmInt.h b/cad/magic/patches/patch-netmenu_nmInt.h
new file mode 100644
index 00000000000..ddc210b10bf
--- /dev/null
+++ b/cad/magic/patches/patch-netmenu_nmInt.h
@@ -0,0 +1,100 @@
+$NetBSD: patch-netmenu_nmInt.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/nmInt.h.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/nmInt.h
+@@ -24,6 +24,8 @@
+ #define _NMINT_H
+
+ #include "windows/windows.h"
++#include "textio/txcommands.h"
++#include "tiles/tile.h"
+
+ /* The declarations below define the elements displayed in the
+ * net-list menu. There are three kinds of things:
+@@ -108,26 +110,30 @@ extern void NMAddPoint();
+ extern void NMDeletePoint();
+ extern void NMClearPoints();
+ extern void NMUpdatePoints();
+-extern int NMRedrawPoints();
+
+-extern int NMRedrawCell();
+ extern void NMShowCell();
+ extern void NMUnsetCell();
+ extern void NMShowUnderBox();
+-extern int NMShowRoutedNet();
+ extern void NMShowLabel();
+
+-extern int NMRipup();
+ extern int NMRipupList();
+-extern int NMExtract();
+ extern void NMSelectNet();
+
+ extern bool NMCheckWritten();
+-extern int NMWriteAll();
+
+ extern void NMUndo();
+ extern void NMUndoInit();
+
++void NMcommand(MagWindow *w, TxCommand *cmd);
++void NMredisplay(MagWindow *w, Rect *rootArea, Rect *clipArea);
++void NMDeleteTerm(char *name);
++void NMWriteAll(void);
++void NMRedrawPoints(MagWindow *window, Plane *plane);
++void NMRedrawCell(MagWindow *window, Plane *plane);
++void NMShowRoutedNet(char *netName);
++void NMRipup(void);
++void NMExtract(void);
++
+ /* Various global variables (within this module): */
+
+ extern char * NMCurNetName;
+$NetBSD: patch-netmenu_nmInt.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- netmenu/nmInt.h.orig 2006-04-10 22:03:14.000000000 +0000
++++ netmenu/nmInt.h
+@@ -24,6 +24,8 @@
+ #define _NMINT_H
+
+ #include "windows/windows.h"
++#include "textio/txcommands.h"
++#include "tiles/tile.h"
+
+ /* The declarations below define the elements displayed in the
+ * net-list menu. There are three kinds of things:
+@@ -108,26 +110,30 @@ extern void NMAddPoint();
+ extern void NMDeletePoint();
+ extern void NMClearPoints();
+ extern void NMUpdatePoints();
+-extern int NMRedrawPoints();
+
+-extern int NMRedrawCell();
+ extern void NMShowCell();
+ extern void NMUnsetCell();
+ extern void NMShowUnderBox();
+-extern int NMShowRoutedNet();
+ extern void NMShowLabel();
+
+-extern int NMRipup();
+ extern int NMRipupList();
+-extern int NMExtract();
+ extern void NMSelectNet();
+
+ extern bool NMCheckWritten();
+-extern int NMWriteAll();
+
+ extern void NMUndo();
+ extern void NMUndoInit();
+
++void NMcommand(MagWindow *w, TxCommand *cmd);
++void NMredisplay(MagWindow *w, Rect *rootArea, Rect *clipArea);
++void NMDeleteTerm(char *name);
++void NMWriteAll(void);
++void NMRedrawPoints(MagWindow *window, Plane *plane);
++void NMRedrawCell(MagWindow *window, Plane *plane);
++void NMShowRoutedNet(char *netName);
++void NMRipup(void);
++void NMExtract(void);
++
+ /* Various global variables (within this module): */
+
+ extern char * NMCurNetName;
diff --git a/cad/magic/patches/patch-plow_PlowMain.c b/cad/magic/patches/patch-plow_PlowMain.c
new file mode 100644
index 00000000000..12a17ddfc6f
--- /dev/null
+++ b/cad/magic/patches/patch-plow_PlowMain.c
@@ -0,0 +1,72 @@
+$NetBSD: patch-plow_PlowMain.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowMain.c.orig 2013-03-02 22:35:26.000000000 +0000
++++ plow/PlowMain.c
+@@ -84,11 +84,15 @@ RuleTableEntry *plowCellRulesPtr = plowC
+ extern int prClearUmbra();
+ extern int prUmbra();
+ extern int prPenumbraTop(), prPenumbraBot();
+-extern int prFixedPenumbraTop(), prFixedPenumbraBot();
+-extern int prSliverTop(), prSliverBot();
++extern int prFixedPenumbraTop();
++void prFixedPenumbraBot(Edge *edge);
++void prSliverBot(Edge *edge, PlowRule *rules);
++void prIllegalBot(Edge *edge);
++void prCoverBot(Edge *edge);
++extern int prSliverTop();
+ extern int prInSliver();
+-extern int prIllegalTop(), prIllegalBot();
+-extern int prCoverTop(), prCoverBot();
++extern int prIllegalTop();
++extern int prCoverTop();
+ extern int prFixedLHS(), prFixedRHS(), prFixedDragStubs();
+ extern int prContactLHS(), prContactRHS();
+ extern int prFindCells();
+@@ -1171,9 +1175,8 @@ plowFindSelCell(yankUse, editUse)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-PlowExtendJogHorizon(edge)
+- Edge *edge; /* Edge being moved */
++static void
++PlowExtendJogHorizon(Edge *edge)
+ {
+ int horizonTop, horizonBot, eTop, eBot;
+ Tile *tpR, *tpL;
+$NetBSD: patch-plow_PlowMain.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowMain.c.orig 2013-03-02 22:35:26.000000000 +0000
++++ plow/PlowMain.c
+@@ -84,11 +84,15 @@ RuleTableEntry *plowCellRulesPtr = plowC
+ extern int prClearUmbra();
+ extern int prUmbra();
+ extern int prPenumbraTop(), prPenumbraBot();
+-extern int prFixedPenumbraTop(), prFixedPenumbraBot();
+-extern int prSliverTop(), prSliverBot();
++extern int prFixedPenumbraTop();
++void prFixedPenumbraBot(Edge *edge);
++void prSliverBot(Edge *edge, PlowRule *rules);
++void prIllegalBot(Edge *edge);
++void prCoverBot(Edge *edge);
++extern int prSliverTop();
+ extern int prInSliver();
+-extern int prIllegalTop(), prIllegalBot();
+-extern int prCoverTop(), prCoverBot();
++extern int prIllegalTop();
++extern int prCoverTop();
+ extern int prFixedLHS(), prFixedRHS(), prFixedDragStubs();
+ extern int prContactLHS(), prContactRHS();
+ extern int prFindCells();
+@@ -1171,9 +1175,8 @@ plowFindSelCell(yankUse, editUse)
+ * ----------------------------------------------------------------------------
+ */
+
+-int
+-PlowExtendJogHorizon(edge)
+- Edge *edge; /* Edge being moved */
++static void
++PlowExtendJogHorizon(Edge *edge)
+ {
+ int horizonTop, horizonBot, eTop, eBot;
+ Tile *tpR, *tpL;
diff --git a/cad/magic/patches/patch-plow_PlowRules1.c b/cad/magic/patches/patch-plow_PlowRules1.c
new file mode 100644
index 00000000000..beba426a2f3
--- /dev/null
+++ b/cad/magic/patches/patch-plow_PlowRules1.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-plow_PlowRules1.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowRules1.c.orig 2013-03-02 22:36:15.000000000 +0000
++++ plow/PlowRules1.c
+@@ -529,10 +529,8 @@ prSliverTop(edge, rules)
+ }
+ }
+
+-int
+-prSliverBot(edge, rules)
+- Edge *edge;
+- PlowRule *rules;
++void
++prSliverBot(Edge *edge, PlowRule *rules)
+ {
+ TileTypeBitMask insideTypes;
+ PlowRule *pr;
+$NetBSD: patch-plow_PlowRules1.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowRules1.c.orig 2013-03-02 22:36:15.000000000 +0000
++++ plow/PlowRules1.c
+@@ -529,10 +529,8 @@ prSliverTop(edge, rules)
+ }
+ }
+
+-int
+-prSliverBot(edge, rules)
+- Edge *edge;
+- PlowRule *rules;
++void
++prSliverBot(Edge *edge, PlowRule *rules)
+ {
+ TileTypeBitMask insideTypes;
+ PlowRule *pr;
diff --git a/cad/magic/patches/patch-plow_PlowRules2.c b/cad/magic/patches/patch-plow_PlowRules2.c
new file mode 100644
index 00000000000..107cd040190
--- /dev/null
+++ b/cad/magic/patches/patch-plow_PlowRules2.c
@@ -0,0 +1,80 @@
+$NetBSD: patch-plow_PlowRules2.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowRules2.c.orig 2013-03-02 22:36:54.000000000 +0000
++++ plow/PlowRules2.c
+@@ -235,9 +235,8 @@ prFixedPenumbraTop(edge)
+ }
+ }
+
+-int
+-prFixedPenumbraBot(edge)
+- Edge *edge; /* Edge being moved */
++void
++prFixedPenumbraBot(Edge *edge)
+ {
+ struct applyRule ar;
+ PlowRule *pr;
+@@ -499,9 +498,8 @@ prCoverTop(edge)
+ }
+ }
+
+-int
+-prCoverBot(edge)
+- Edge *edge; /* Edge being moved */
++void
++prCoverBot(Edge *edge)
+ {
+ TileType ltype, rtype;
+ PlowRule *pr;
+@@ -585,9 +583,8 @@ prIllegalTop(edge)
+ plowCoverTopProc, (ClientData) &ar);
+ }
+
+-int
+-prIllegalBot(edge)
+- Edge *edge;
++void
++prIllegalBot(Edge *edge)
+ {
+ TileTypeBitMask insideTypes;
+ struct applyRule ar;
+$NetBSD: patch-plow_PlowRules2.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- plow/PlowRules2.c.orig 2013-03-02 22:36:54.000000000 +0000
++++ plow/PlowRules2.c
+@@ -235,9 +235,8 @@ prFixedPenumbraTop(edge)
+ }
+ }
+
+-int
+-prFixedPenumbraBot(edge)
+- Edge *edge; /* Edge being moved */
++void
++prFixedPenumbraBot(Edge *edge)
+ {
+ struct applyRule ar;
+ PlowRule *pr;
+@@ -499,9 +498,8 @@ prCoverTop(edge)
+ }
+ }
+
+-int
+-prCoverBot(edge)
+- Edge *edge; /* Edge being moved */
++void
++prCoverBot(Edge *edge)
+ {
+ TileType ltype, rtype;
+ PlowRule *pr;
+@@ -585,9 +583,8 @@ prIllegalTop(edge)
+ plowCoverTopProc, (ClientData) &ar);
+ }
+
+-int
+-prIllegalBot(edge)
+- Edge *edge;
++void
++prIllegalBot(Edge *edge)
+ {
+ TileTypeBitMask insideTypes;
+ struct applyRule ar;
diff --git a/cad/magic/patches/patch-textio_textio.h b/cad/magic/patches/patch-textio_textio.h
new file mode 100644
index 00000000000..3f1d33427f4
--- /dev/null
+++ b/cad/magic/patches/patch-textio_textio.h
@@ -0,0 +1,40 @@
+$NetBSD: patch-textio_textio.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- textio/textio.h.orig 2013-03-02 22:26:17.000000000 +0000
++++ textio/textio.h
+@@ -25,6 +25,7 @@
+ #ifndef _TEXTIO_H
+ #define _TEXTIO_H
+
++#include <stdarg.h>
+ #include "utils/magic.h"
+
+ #ifdef MAGIC_WRAPPER
+@@ -65,6 +66,7 @@ extern void TxUseMore();
+ extern void TxStopMore();
+
+ /* printing procedures with variable arguments lists */
++extern void VTxError(char *, va_list);
+ extern void TxError(char *, ...);
+ extern void TxPrintf(char *, ...);
+ extern char *TxPrintString(char *, ...);
+$NetBSD: patch-textio_textio.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- textio/textio.h.orig 2013-03-02 22:26:17.000000000 +0000
++++ textio/textio.h
+@@ -25,6 +25,7 @@
+ #ifndef _TEXTIO_H
+ #define _TEXTIO_H
+
++#include <stdarg.h>
+ #include "utils/magic.h"
+
+ #ifdef MAGIC_WRAPPER
+@@ -65,6 +66,7 @@ extern void TxUseMore();
+ extern void TxStopMore();
+
+ /* printing procedures with variable arguments lists */
++extern void VTxError(char *, va_list);
+ extern void TxError(char *, ...);
+ extern void TxPrintf(char *, ...);
+ extern char *TxPrintString(char *, ...);
diff --git a/cad/magic/patches/patch-utils_LIBtextio.c b/cad/magic/patches/patch-utils_LIBtextio.c
new file mode 100644
index 00000000000..4cd9a1d43eb
--- /dev/null
+++ b/cad/magic/patches/patch-utils_LIBtextio.c
@@ -0,0 +1,64 @@
+$NetBSD: patch-utils_LIBtextio.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- utils/LIBtextio.c.orig 2013-03-02 22:24:58.000000000 +0000
++++ utils/LIBtextio.c
+@@ -94,18 +94,23 @@ TxFlush()
+ *
+ * ----------------------------------------------------------------------------
+ */
++void
++VTxError(char *fmt, va_list va)
++{
++ (void) fflush(stdout);
++ (void) fflush(stderr);
++ vfprintf(stderr, fmt, ap);
++ (void) fflush(stderr);
++}
+
+ void
+ TxError(char *fmt, ...)
+ {
+ va_list ap;
+
+- (void) fflush(stdout);
+- (void) fflush(stderr);
+ va_start(ap, fmt);
+- vfprintf(stderr, fmt, ap);
++ VTxError(fmt, ap);
+ va_end(ap);
+- (void) fflush(stderr);
+ }
+
+
+$NetBSD: patch-utils_LIBtextio.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- utils/LIBtextio.c.orig 2013-03-02 22:24:58.000000000 +0000
++++ utils/LIBtextio.c
+@@ -94,18 +94,23 @@ TxFlush()
+ *
+ * ----------------------------------------------------------------------------
+ */
++void
++VTxError(char *fmt, va_list va)
++{
++ (void) fflush(stdout);
++ (void) fflush(stderr);
++ vfprintf(stderr, fmt, ap);
++ (void) fflush(stderr);
++}
+
+ void
+ TxError(char *fmt, ...)
+ {
+ va_list ap;
+
+- (void) fflush(stdout);
+- (void) fflush(stderr);
+ va_start(ap, fmt);
+- vfprintf(stderr, fmt, ap);
++ VTxError(fmt, ap);
+ va_end(ap);
+- (void) fflush(stderr);
+ }
+
+
diff --git a/cad/magic/patches/patch-windows_windDisp.c b/cad/magic/patches/patch-windows_windDisp.c
new file mode 100644
index 00000000000..a7d4b204b4e
--- /dev/null
+++ b/cad/magic/patches/patch-windows_windDisp.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-windows_windDisp.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- windows/windDisp.c.orig 2013-03-02 22:33:23.000000000 +0000
++++ windows/windDisp.c
+@@ -76,7 +76,7 @@ bool windSomeSeparateRedisplay = FALSE;
+ * ----------------------------------------------------------------------------
+ */
+
+-int windCheckOnlyWindow(MagWindow **w, WindClient client)
++void windCheckOnlyWindow(MagWindow **w, WindClient client)
+ {
+ MagWindow *sw, *tw;
+ int wct = 0;
+$NetBSD: patch-windows_windDisp.c,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- windows/windDisp.c.orig 2013-03-02 22:33:23.000000000 +0000
++++ windows/windDisp.c
+@@ -76,7 +76,7 @@ bool windSomeSeparateRedisplay = FALSE;
+ * ----------------------------------------------------------------------------
+ */
+
+-int windCheckOnlyWindow(MagWindow **w, WindClient client)
++void windCheckOnlyWindow(MagWindow **w, WindClient client)
+ {
+ MagWindow *sw, *tw;
+ int wct = 0;
diff --git a/cad/magic/patches/patch-windows_windows.h b/cad/magic/patches/patch-windows_windows.h
new file mode 100644
index 00000000000..ceb1b5fd413
--- /dev/null
+++ b/cad/magic/patches/patch-windows_windows.h
@@ -0,0 +1,26 @@
+$NetBSD: patch-windows_windows.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- windows/windows.h.orig 2013-03-02 22:33:29.000000000 +0000
++++ windows/windows.h
+@@ -246,7 +246,7 @@ extern int WindExecute();
+ extern void WindAddCommand();
+ extern int WindReplaceCommand();
+ extern char **WindGetCommandTable();
+-extern int windCheckOnlyWindow(MagWindow **, WindClient);
++extern void windCheckOnlyWindow(MagWindow **, WindClient);
+
+
+ /* searching procs */
+$NetBSD: patch-windows_windows.h,v 1.1 2013/03/03 01:11:11 joerg Exp $
+
+--- windows/windows.h.orig 2013-03-02 22:33:29.000000000 +0000
++++ windows/windows.h
+@@ -246,7 +246,7 @@ extern int WindExecute();
+ extern void WindAddCommand();
+ extern int WindReplaceCommand();
+ extern char **WindGetCommandTable();
+-extern int windCheckOnlyWindow(MagWindow **, WindClient);
++extern void windCheckOnlyWindow(MagWindow **, WindClient);
+
+
+ /* searching procs */