You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2014/02/25 02:41:58 UTC

svn commit: r1571524 - /subversion/trunk/subversion/libsvn_subr/ctype.c

Author: rhuijben
Date: Tue Feb 25 01:41:58 2014
New Revision: 1571524

URL: http://svn.apache.org/r1571524
Log:
Following up on r1571499 and r1571500, make a symbol static on all platforms
except Windows and add a huge comment explaining why it should remain public
on Windows.

* subversion/libsvn_subr/ctype.c
  (svn_ctype_table_internal): Make static on all platforms except Windows.

Modified:
    subversion/trunk/subversion/libsvn_subr/ctype.c

Modified: subversion/trunk/subversion/libsvn_subr/ctype.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/ctype.c?rev=1571524&r1=1571523&r2=1571524&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/ctype.c (original)
+++ subversion/trunk/subversion/libsvn_subr/ctype.c Tue Feb 25 01:41:58 2014
@@ -25,6 +25,23 @@
 
 #include "svn_ctype.h"
 
+#ifndef WIN32
+static
+#else
+/* This variable is exported as 'CONSTANT' in our .def file for libsvn_subr,
+   with the name svn_ctype_table.
+
+   This long deprecated construct will export *a pointer to* the
+   variable exported.
+
+   See http://support.microsoft.com/kb/90530/en-us for the ugly details on
+   this system that was already deprecated when we started Subversion and
+   on why we should have used __declspec(dllexport) when initially exporting
+   this variable. (It would allow avoiding the pointer transformation).
+
+   But to keep backwards compatibility this symbol will have to stay public
+   on Windows until Subversion 2.0. */
+#endif
 const apr_uint32_t svn_ctype_table_internal[256] =
   {
     /* **** DO NOT EDIT! ****