diff --git a/ACE/ace/OS_NS_dirent.h b/ACE/ace/OS_NS_dirent.h index 5d0a3f5addd1b..325bc450fa313 100644 --- a/ACE/ace/OS_NS_dirent.h +++ b/ACE/ace/OS_NS_dirent.h @@ -52,7 +52,7 @@ extern "C" { * using the pre-processor. */ #if !defined (ACE_LACKS_REWINDDIR) -# if !defined (ACE_HAS_WREWINDDIR) || !defined (ACE_USES_WCHAR) +# if !defined (ACE_HAS_WREWINDDIR_EQUIVALENT) || !defined (ACE_USES_WCHAR) inline void ace_rewinddir_helper (ACE_DIR *dir) { # if defined (rewinddir) @@ -63,7 +63,7 @@ inline void ace_rewinddir_helper (ACE_DIR *dir) # endif /* defined (rewinddir) */ } # endif /* !defined (ACE_HAS_WREWINDDIR) && !defined (ACE_USES_WCHAR) */ -#endif /* ACE_LACKS_REWINDDIR */ +#endif /* ACE_HAS_WREWINDDIR_EQUIVALENT */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/OS_NS_dirent.inl b/ACE/ace/OS_NS_dirent.inl index 88a5154e0a5db..2894273d3f9bd 100644 --- a/ACE/ace/OS_NS_dirent.inl +++ b/ACE/ace/OS_NS_dirent.inl @@ -18,8 +18,8 @@ closedir (ACE_DIR *d) ACE_OS::closedir_emulation (d); delete [] d->directory_name_; delete d; -# elif defined (ACE_HAS_WCLOSEDIR) && defined (ACE_USES_WCHAR) - ::wclosedir (d); +# elif defined (ACE_HAS_WCLOSEDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + ACE_HAS_WCLOSEDIR_EQUIVALENT (d); # else /* ACE_WIN32 && ACE_LACKS_CLOSEDIR */ ::closedir (d); # endif /* ACE_WIN32 && ACE_LACKS_CLOSEDIR */ @@ -35,8 +35,8 @@ opendir (const ACE_TCHAR *filename) #if defined (ACE_HAS_DIRENT) # if (defined (ACE_WIN32) || defined(ACE_MQX)) && defined (ACE_LACKS_OPENDIR) return ::ACE_OS::opendir_emulation (filename); -# elif defined (ACE_HAS_WOPENDIR) && defined (ACE_USES_WCHAR) - return ::wopendir (filename); +# elif defined (ACE_HAS_WOPENDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + return ACE_HAS_WOPENDIR_EQUIVALENT (filename); # else /* ! ACE_WIN32 && ACE_LACKS_OPENDIR */ return ::opendir (ACE_TEXT_ALWAYS_CHAR (filename)); # endif /* ACE_WIN32 && ACE_LACKS_OPENDIR */ @@ -52,8 +52,8 @@ readdir (ACE_DIR *d) #if defined (ACE_HAS_DIRENT) # if (defined (ACE_WIN32) || defined (ACE_MQX)) && defined (ACE_LACKS_READDIR) return ACE_OS::readdir_emulation (d); -# elif defined (ACE_HAS_WREADDIR) && defined (ACE_USES_WCHAR) - return ::wreaddir (d); +# elif defined (ACE_HAS_WREADDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + return ACE_HAS_WREADDIR_EQUIVALENT (d); # else /* ACE_WIN32 && ACE_LACKS_READDIR */ return ::readdir (d); # endif /* ACE_WIN32 && ACE_LACKS_READDIR */ @@ -67,8 +67,8 @@ ACE_INLINE void rewinddir (ACE_DIR *d) { #if defined (ACE_HAS_DIRENT) -# if defined (ACE_HAS_WREWINDDIR) && defined (ACE_USES_WCHAR) - ::wrewinddir (d); +# if defined (ACE_HAS_WREWINDDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + ACE_HAS_WREWINDDIR_EQUIVALENT (d); # elif !defined (ACE_LACKS_REWINDDIR) ace_rewinddir_helper (d); # else diff --git a/ACE/ace/OS_NS_time.inl b/ACE/ace/OS_NS_time.inl index a41b805d4d0da..cdce0c2ae7e01 100644 --- a/ACE/ace/OS_NS_time.inl +++ b/ACE/ace/OS_NS_time.inl @@ -106,8 +106,8 @@ ACE_OS::ctime (const time_t *t) // we've done this before, free the previous one. Yes, this leaves a // small memory leak (26 characters) but there's no way around this // that I know of. (Steve Huston, 12-Feb-2003). - static wchar_t *wide_time = 0; - if (wide_time != 0) + static wchar_t *wide_time = nullptr; + if (wide_time != nullptr) delete [] wide_time; wide_time = ACE_Ascii_To_Wide::convert (narrow_time); return wide_time; @@ -124,7 +124,7 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) #if defined (ACE_HAS_REENTRANT_FUNCTIONS) - char *bufp = 0; + char *bufp = nullptr; # if defined (ACE_USES_WCHAR) char narrow_buf[ctime_buf_size]; bufp = narrow_buf; @@ -149,8 +149,8 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) # endif /* ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R */ - if (bufp == 0) - return 0; + if (bufp == nullptr) + return nullptr; # if defined (ACE_USES_WCHAR) ACE_Ascii_To_Wide wide_buf (bufp); @@ -164,7 +164,7 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) if (buflen < ctime_buf_size) { errno = ERANGE; - return 0; + return nullptr; } ACE_TCHAR *result = buf; # if defined (ACE_USES_WCHAR) @@ -178,16 +178,16 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) if (buflen < ctime_buf_size) { errno = ERANGE; - return 0; + return nullptr; } - ACE_TCHAR *result = 0; + ACE_TCHAR *result = nullptr; # if defined (ACE_USES_WCHAR) ACE_OSCALL (::_wctime (t), wchar_t *, result); # else /* ACE_USES_WCHAR */ ACE_OSCALL (::ctime (t), char *, result); # endif /* ACE_USES_WCHAR */ - if (result != 0) + if (result != nullptr) ACE_OS::strsncpy (buf, result, buflen); return buf; #endif /* ACE_HAS_REENTRANT_FUNCTIONS */ diff --git a/ACE/ace/config-win32-borland.h b/ACE/ace/config-win32-borland.h index 3502742130d23..ef884c79f4d6d 100644 --- a/ACE/ace/config-win32-borland.h +++ b/ACE/ace/config-win32-borland.h @@ -96,10 +96,17 @@ #undef ACE_LACKS_REWINDDIR -#define ACE_HAS_WOPENDIR -#define ACE_HAS_WCLOSEDIR -#define ACE_HAS_WREADDIR -#define ACE_HAS_WREWINDDIR +#if !defined (__MINGW64__) +# define ACE_HAS_WOPENDIR_EQUIVALENT ::wopendir +# define ACE_HAS_WCLOSEDIR_EQUIVALENT ::wclosedir +# define ACE_HAS_WREADDIR_EQUIVALENT ::wreaddir +# define ACE_HAS_WREWINDDIR_EQUIVALENT ::wrewinddir +#else +# define ACE_HAS_WOPENDIR_EQUIVALENT ::_wopendir +# define ACE_HAS_WCLOSEDIR_EQUIVALENT ::_wclosedir +# define ACE_HAS_WREADDIR_EQUIVALENT ::_wreaddir +# define ACE_HAS_WREWINDDIR_EQUIVALENT ::_wrewinddir +#endif #define ACE_LACKS_STRRECVFD diff --git a/ACE/ace/os_include/os_dirent.h b/ACE/ace/os_include/os_dirent.h index 650fb402d968a..9ff7d83acee1b 100644 --- a/ACE/ace/os_include/os_dirent.h +++ b/ACE/ace/os_include/os_dirent.h @@ -80,8 +80,13 @@ struct ACE_DIR { }; #elif defined (ACE_WIN32) && (__BORLANDC__) && defined (ACE_USES_WCHAR) #define ACE_HAS_TCHAR_DIRENT -#define ACE_DIRENT wdirent +#if defined(__MINGW64__) +# define ACE_DIRENT _wdirent +typedef _WDIR ACE_DIR; +#else +# define ACE_DIRENT wdirent typedef wDIR ACE_DIR; +#endif #else #define ACE_DIRENT dirent typedef DIR ACE_DIR; diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 14f3df0421b7e..bcc17609a93c5 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,6 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi