summaryrefslogtreecommitdiff
path: root/ace/OS.i
diff options
context:
space:
mode:
authorbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-03 21:48:59 +0000
committerbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-03 21:48:59 +0000
commitba240e17b588f46528228ae1958af358592590e5 (patch)
treee4c66900f1d29bf7b66b040f2293f80bd6f72d3f /ace/OS.i
parent0253f8e11efe550a337f3ec2fec1e58dc12feae4 (diff)
downloadATCD-ba240e17b588f46528228ae1958af358592590e5.tar.gz
ChangeLogTag:Tue Oct 3 14:25:09 2000 Darrell Brunsch <brunsch@uci.edu>
Diffstat (limited to 'ace/OS.i')
-rw-r--r--ace/OS.i80
1 files changed, 66 insertions, 14 deletions
diff --git a/ace/OS.i b/ace/OS.i
index 7aa6acb99cc..2a954888489 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -577,7 +577,7 @@ ACE_OS::fcntl (ACE_HANDLE handle, int cmd, long arg)
}
ACE_INLINE int
-ACE_OS::chdir (const ACE_TCHAR *path)
+ACE_OS::chdir (const char *path)
{
ACE_OS_TRACE ("ACE_OS::chdir");
#if defined (ACE_HAS_PACE)
@@ -600,15 +600,24 @@ ACE_OS::chdir (const ACE_TCHAR *path)
ACE_UNUSED_ARG (path);
ACE_NOTSUP_RETURN (-1);
-#elif defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
- ACE_OSCALL_RETURN (::_wchdir (path), int, -1);
-
#else
ACE_OSCALL_RETURN (::chdir (path), int, -1);
#endif /* ACE_HAS_PACE */
}
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE int
+ACE_OS::chdir (const wchar_t *path)
+{
+#if defined (ACE_WIN32)
+ ACE_OSCALL_RETURN (::_wchdir (path), int, -1);
+#else /* ACE_WIN32 */
+ return ACE_OS::chdir (ACE_Wide_To_Ascii (path).char_rep ());
+#endif /* ACE_WIN32 */
+}
+#endif /* ACE_HAS_WCHAR */
+
#if !defined (ACE_LACKS_MKTEMP)
ACE_INLINE ACE_TCHAR *
ACE_OS::mktemp (ACE_TCHAR *s)
@@ -6092,18 +6101,27 @@ ACE_OS::socket (int domain,
}
ACE_INLINE int
-ACE_OS::atoi (const ACE_TCHAR *s)
+ACE_OS::atoi (const char *s)
{
- ACE_OS_TRACE ("ACE_OS::atoi");
#if defined (ACE_HAS_PACE)
ACE_OSCALL_RETURN (::pace_atoi (s), int, -1);
-#elif defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
- ACE_OSCALL_RETURN (::_wtoi (s), int, -1);
-#else /* ACE_WIN32 */
+#else /* ACE_HAS_PACE */
ACE_OSCALL_RETURN (::atoi (s), int, -1);
#endif /* ACE_HAS_PACE */
}
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE int
+ACE_OS::atoi (const wchar_t *s)
+{
+#if defined (ACE_WIN32)
+ ACE_OSCALL_RETURN (::_wtoi (s), int, -1);
+#else /* ACE_WIN32 */
+ return ACE_OS::atoi (ACE_Wide_To_Ascii(s).char_rep());
+#endif /* ACE_WIN32 */
+}
+#endif /* ACE_HAS_WCHAR */
+
ACE_INLINE double
ACE_OS::floor (double x)
{
@@ -8231,7 +8249,7 @@ ACE_OS::closesocket (ACE_HANDLE handle)
}
ACE_INLINE int
-ACE_OS::access (const ACE_TCHAR *path, int amode)
+ACE_OS::access (const char *path, int amode)
{
ACE_OS_TRACE ("ACE_OS::access");
#if defined (ACE_HAS_PACE)
@@ -8248,14 +8266,24 @@ ACE_OS::access (const ACE_TCHAR *path, int amode)
ACE_OS::fclose (handle);
return (handle == ACE_INVALID_HANDLE ? -1 : 0);
-#elif defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
- ACE_OSCALL_RETURN (::_waccess (path, amode), int, -1);
#else
ACE_OSCALL_RETURN (::access (path, amode), int, -1);
#endif /* ACE_HAS_PACE */
}
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE int
+ACE_OS::access (const wchar_t *path, int amode)
+{
+#if defined (ACE_WIN32)
+ ACE_OSCALL_RETURN (::_waccess (path, amode), int, -1);
+#else /* ACE_WIN32 */
+ return ACE_OS::access (ACE_Wide_To_Ascii (path).char_rep (), amode);
+#endif /* ACE_WIN32 */
+}
+#endif /* ACE_HAS_WCHAR */
+
ACE_INLINE ACE_HANDLE
ACE_OS::creat (const ACE_TCHAR *filename, mode_t mode)
{
@@ -8300,7 +8328,7 @@ ACE_OS::uname (struct utsname *name)
#endif /* ! ACE_WIN32 && ! VXWORKS && ! CHORUS */
ACE_INLINE int
-ACE_OS::hostname (ACE_TCHAR name[], size_t maxnamelen)
+ACE_OS::hostname (char name[], size_t maxnamelen)
{
ACE_OS_TRACE ("ACE_OS::hostname");
#if defined (ACE_HAS_WINCE)
@@ -8322,7 +8350,7 @@ ACE_OS::hostname (ACE_TCHAR name[], size_t maxnamelen)
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_PHARLAP_RT */
#elif defined (ACE_WIN32)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (ACE_TEXT_GetComputerName (name,
+ ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::GetComputerNameA (name,
LPDWORD (&maxnamelen)),
ace_result_), int, -1);
#elif defined (VXWORKS)
@@ -8354,6 +8382,30 @@ ACE_OS::hostname (ACE_TCHAR name[], size_t maxnamelen)
#endif /* ACE_HAS_WINCE */
}
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE int
+ACE_OS::hostname (wchar_t name[], size_t maxnamelen)
+{
+#if defined (ACE_WIN32)
+ ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (GetComputerNameW (name,
+ LPDWORD (&maxnamelen)),
+ ace_result_), int, -1);
+#else /* ACE_WIN32 */
+ // Emulate using the char version
+ char *char_name = 0;
+ int result = 0;
+
+ ACE_NEW_RETURN (char_name, char[maxnamelen], -1);
+
+ result = ACE_OS::hostname(char_name, maxnamelen);
+ ACE_OS::strcpy (name, ACE_Ascii_To_Wide (char_name));
+
+ delete [] char_name;
+ return result;
+#endif /* ACE_WIN32 */
+}
+#endif /* ACE_HAS_WCHAR */
+
ACE_INLINE int
ACE_OS::msgctl (int msqid, int cmd, struct msqid_ds *val)
{