databases/iodbc doesn't build on -current because it defines a local
prototype for wcsncasecmp() that conflicts with the one in <wchar.h>.

The patch below brings the internal prototype in line with the
system and POSIX one.  Adding "#include <config.h>" in the right
place, wherever that is, might be a better fix, but this is from
upstream.

An update to 3.52.7 might also be appropriate, but for the time
being this will make iodbc build again.

ok?


Index: patches/patch-iodbcinst_unicode_c
===================================================================
RCS file: patches/patch-iodbcinst_unicode_c
diff -N patches/patch-iodbcinst_unicode_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-iodbcinst_unicode_c   5 Jun 2011 21:43:54 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- iodbcinst/unicode.c.orig   Sun Jun  5 23:35:43 2011
++++ iodbcinst/unicode.c        Sun Jun  5 23:36:27 2011
+@@ -230,7 +230,7 @@ towlower (wchar_t wc)
+ 
+ 
+ #if !defined(HAVE_WCSNCASECMP)
+-int wcsncasecmp (wchar_t* s1, wchar_t* s2, size_t n)
++int wcsncasecmp (const wchar_t* s1, const wchar_t* s2, size_t n)
+ {
+   wchar_t c1, c2;
+   
Index: patches/patch-iodbcinst_unicode_h
===================================================================
RCS file: patches/patch-iodbcinst_unicode_h
diff -N patches/patch-iodbcinst_unicode_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-iodbcinst_unicode_h   5 Jun 2011 21:43:54 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- iodbcinst/unicode.h.orig   Sun Jun  5 23:35:04 2011
++++ iodbcinst/unicode.h        Sun Jun  5 23:36:04 2011
+@@ -151,7 +151,7 @@ wchar_t* wcscat(wchar_t *dest, const wchar_t *src);
+ int wcscmp (const wchar_t* s1, const wchar_t* s2);
+ #endif
+ #if !defined(HAVE_WCSNCASECMP)
+-int wcsncasecmp (wchar_t* s1, wchar_t* s2, size_t n);
++int wcsncasecmp (const wchar_t* s1, const wchar_t* s2, size_t n);
+ #endif
+ 
+ #endif /* _UNICODE_H */
-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to