about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/utils.c13
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 64d5ea989..a65aa5a7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-03-25  Peter Stephenson  <pws@csr.com>
 
+	* 19683: Src/utils.c: Work around occasional problem on
+	Cygwin with dllwrap.
+
 	* 19682: Doc/Zsh/builtins.yo, Etc/NEWS, Src/signals.c: Don't
 	run ZERR, DEBUG or EXIT traps inside other traps; caused confusion
 	and incompatibility.
diff --git a/Src/utils.c b/Src/utils.c
index 30519f247..2e061e591 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -110,6 +110,19 @@ zwarnnam(const char *cmd, const char *fmt, const char *str, int num)
     zerrmsg(fmt, str, num);
 }
 
+#ifdef __CYGWIN__
+/*
+ * This works around an occasional problem with dllwrap on Cygwin, seen
+ * on at least two installations.  It fails to find the last symbol
+ * exported in alphabetical order (in our case zwarnnam).  Until this is
+ * properly categorised and fixed we add a dummy symbol at the end.
+ */
+mod_export void
+zz_plural_z_alpha(void)
+{
+}
+#endif
+
 /**/
 void
 zerrmsg(const char *fmt, const char *str, int num)