I'd like to proceed in small steps to apply the fixes needed to get
things working under older versions of Windows.

Here's patch 1, to Boost.Filesystem. Beman Dawes, the libraries
author, has indicated that he's "sympathetic" to the patch:
http://article.gmane.org/gmane.comp.lib.boost.devel/131958

Can I apply it to the LyX sources, please? Has no effect on non
Windows users.

Jean-Marc, we don't use Boost.Filesystem in LyX 1.3.x.
-- 
Angus
Index: boost/libs/filesystem/src/operations_posix_windows.cpp
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/boost/libs/filesystem/src/operations_posix_windows.cpp,v
retrieving revision 1.3
diff -u -a -u -r1.3 operations_posix_windows.cpp
--- boost/libs/filesystem/src/operations_posix_windows.cpp	20 Nov 2004 09:08:44 -0000	1.3
+++ boost/libs/filesystem/src/operations_posix_windows.cpp	27 Sep 2005 12:55:00 -0000
@@ -46,6 +46,9 @@
 
 # if defined(BOOST_WINDOWS)
 #   include "windows.h"
+#   if defined(WANT_GETFILEATTRIBUTESEX_WRAPPER)
+#     include <NewAPIs.h>
+#   endif
 #   if defined(__BORLANDC__) || defined(__MWERKS__)
 #     if defined(__BORLANDC__)
         using std::time_t;
@@ -391,7 +394,7 @@
         : path_stat.st_size == 0;
 #   else
       WIN32_FILE_ATTRIBUTE_DATA fad;
-      if ( !::GetFileAttributesExA( ph.string().c_str(),
+      if ( !::GetFileAttributesEx( ph.string().c_str(),
         ::GetFileExInfoStandard, &fad ) )
         boost::throw_exception( filesystem_error(
           "boost::filesystem::is_empty",
@@ -538,7 +541,7 @@
 #   else
       // by now, intmax_t is 64-bits on all Windows compilers
       WIN32_FILE_ATTRIBUTE_DATA fad;
-      if ( !::GetFileAttributesExA( ph.string().c_str(),
+      if ( !::GetFileAttributesEx( ph.string().c_str(),
         ::GetFileExInfoStandard, &fad ) )
         boost::throw_exception( filesystem_error(
           "boost::filesystem::file_size",

Reply via email to