summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-12-11 11:07:04 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-12-11 11:07:04 +0000
commitd7f616afacbbaaae2938c74615931aee13d99eeb (patch)
tree9713a56bb353fb766de1336241989295d725f59f
parent8b7e39c0dfaef5a30d5adf40f6ed5568fd8b5d8a (diff)
downloadATCD-d7f616afacbbaaae2938c74615931aee13d99eeb.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-96b7
-rw-r--r--ace/OS.h90
-rw-r--r--ace/OS.i29
-rw-r--r--ace/SString.i6
-rw-r--r--netsvcs/lib/TS_Clerk_Handler.cpp4
5 files changed, 95 insertions, 41 deletions
diff --git a/ChangeLog-96b b/ChangeLog-96b
index 545526896fd..a6b20c7fe98 100644
--- a/ChangeLog-96b
+++ b/ChangeLog-96b
@@ -16,6 +16,9 @@ Tue Dec 10 22:59:26 1996 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
Tokens_Test.cpp
UPIPE_SAP_Test.cpp
+ * netsvcs/lib: Added/Fixed UNICODE behavior of the following:
+ ACE_TS_Clerk_Processor::poolname_
+
Tue Dec 10 00:33:08 1996 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.i (inet_aton): We need to cast -1 to (ACE_UINT32).
@@ -262,7 +265,9 @@ Mon Dec 9 02:06:48 1996 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
ACE_OS::fopen
ACE_OS::getenv
ACE_OS::system
-
+ ACE_OS::mkdir
+ ACE_OS::mktemp
+
Sun Dec 8 19:00:45 1996 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
* ace/Reactor.cpp (handle_events): Updated this method to use the
diff --git a/ace/OS.h b/ace/OS.h
index d43338098a7..b7da3844abd 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -1024,7 +1024,8 @@ typedef void (*ACE_SignalHandlerV)(...);
#include /**/ <sys/timeb.h>
// The following 3 defines are used by the ACE Name Server...
-#define ACE_DEFAULT_NAMESPACE_DIR __TEXT ("C:\\temp")
+#define ACE_DEFAULT_NAMESPACE_DIR_W L"C:\\temp"
+#define ACE_DEFAULT_NAMESPACE_DIR_A "C:\\temp"
#define ACE_DEFAULT_LOCALNAME "\\localnames"
#define ACE_DEFAULT_GLOBALNAME "\\globalnames"
@@ -1047,7 +1048,6 @@ typedef void (*ACE_SignalHandlerV)(...);
// Default semaphore key and mutex name
#define ACE_DEFAULT_SEM_KEY "ACE_SEM_KEY"
#define ACE_INVALID_SEM_KEY 0
-#define ACE_DEFAULT_MUTEX __TEXT ("ACE_MUTEX")
#define ACE_SEH_TRY __try
#define ACE_SEH_EXCEPT(X) __except(X)
@@ -1056,8 +1056,10 @@ typedef void (*ACE_SignalHandlerV)(...);
#define ACE_DEV_NULL "nul"
// Define the pathname separator characters for Win32 (ugh).
-#define ACE_DIRECTORY_SEPARATOR_STR __TEXT ("\\")
-#define ACE_DIRECTORY_SEPARATOR_CHAR __TEXT ('\\')
+#define ACE_DIRECTORY_SEPARATOR_STR_A "\\"
+#define ACE_DIRECTORY_SEPARATOR_STR_W L"\\"
+#define ACE_DIRECTORY_SEPARATOR_CHAR_A '\\'
+#define ACE_DIRECTORY_SEPARATOR_CHAR_W L'\\'
#define ACE_LD_SEARCH_PATH "PATH"
#define ACE_LD_SEARCH_PATH_SEPARATOR_STR ";"
#define ACE_LOGGER_KEY __TEXT ("\\temp\\server_daemon")
@@ -1244,6 +1246,12 @@ typedef const char *LPCTSTR;
typedef char *LPTSTR;
typedef char TCHAR;
+#if (defined (ACE_HAS_UNICODE) && (defined (UNICODE)))
+#define __TEXT(STRING) L##STRING
+#else
+#define __TEXT(STRING) STRING
+#endif /* UNICODE && ACE_HAS_UNICODE */
+
#if defined (m88k)
#define RUSAGE_SELF 1
#endif // m88k
@@ -1251,10 +1259,30 @@ typedef char TCHAR;
// Default semaphore key
#define ACE_DEFAULT_SEM_KEY 1234
#define ACE_INVALID_SEM_KEY -1
-#define ACE_DEFAULT_MUTEX "ACE_MUTEX"
+
+// Define the pathname separator characters for UNIX.
+#define ACE_DIRECTORY_SEPARATOR_STR_A "/"
+#define ACE_DIRECTORY_SEPARATOR_CHAR_A '/'
+#if defined (ACE_HAS_UNICODE)
+#define ACE_DIRECTORY_SEPARATOR_STR_W L"/"
+#define ACE_DIRECTORY_SEPARATOR_CHAR_W L'/'
+#else
+#define ACE_DIRECTORY_SEPARATOR_STR_W "/"
+#define ACE_DIRECTORY_SEPARATOR_CHAR_W '/'
+#endif /* ACE_HAS_UNICODE */
+#define ACE_LD_SEARCH_PATH "LD_LIBRARY_PATH"
+#define ACE_LD_SEARCH_PATH_SEPARATOR_STR ":"
+#define ACE_LOGGER_KEY "/tmp/server_daemon"
+#define ACE_DLL_SUFFIX ".so"
+#define ACE_DLL_PREFIX "lib"
// The following 3 defines are used by the ACE Name Server...
-#define ACE_DEFAULT_NAMESPACE_DIR "/tmp"
+#define ACE_DEFAULT_NAMESPACE_DIR_A "/tmp"
+#if defined (ACE_HAS_UNICODE)
+#define ACE_DEFAULT_NAMESPACE_DIR_W L"/tmp"
+#else
+#define ACE_DEFAULT_NAMESPACE_DIR_W "/tmp"
+#endif /* ACE_HAS_UNICODE */
#define ACE_DEFAULT_LOCALNAME "/localnames"
#define ACE_DEFAULT_GLOBALNAME "/globalnames"
@@ -1283,15 +1311,6 @@ typedef char TCHAR;
// The "null" device on UNIX.
#define ACE_DEV_NULL "/dev/null"
-// Define the pathname separator characters for UNIX.
-#define ACE_DIRECTORY_SEPARATOR_STR "/"
-#define ACE_DIRECTORY_SEPARATOR_CHAR '/'
-#define ACE_LD_SEARCH_PATH "LD_LIBRARY_PATH"
-#define ACE_LD_SEARCH_PATH_SEPARATOR_STR ":"
-#define ACE_LOGGER_KEY "/tmp/server_daemon"
-#define ACE_DLL_SUFFIX ".so"
-#define ACE_DLL_PREFIX "lib"
-
// Wrapper for NT events on UNIX.
struct ACE_event_t
{
@@ -2246,7 +2265,6 @@ public:
#if defined (ACE_WIN32)
static wchar_t *strstr (const wchar_t *s, const wchar_t *t);
static wchar_t *strdup (const wchar_t *s);
- static int sprintf (wchar_t *buf, const char *format, ...);
static int sprintf (wchar_t *buf, const wchar_t *format, ...);
static int access (const wchar_t *path, int amode);
@@ -2257,6 +2275,8 @@ public:
static ACE_HANDLE open (const wchar_t *filename, int mode, int perms = 0);
static int unlink (const wchar_t *path);
static void *dlopen (ACE_WIDE_DL_TYPE filename, int mode);
+ static wchar_t *mktemp (wchar_t *t);
+ static int mkdir (const wchar_t *path, mode_t mode = ACE_DEFAULT_DIR_PERMS);
#endif /* ACE_WIN32 */
#endif /* ACE_HAS_UNICODE */
@@ -2399,21 +2419,43 @@ private:
if (POINTER == 0) { errno = ENOMEM; return; } \
} while (0)
-#if defined (ACE_HAS_INLINED_OSCALLS)
-#if defined (ACE_INLINE)
-#undef ACE_INLINE
-#endif /* ACE_INLINE */
-#define ACE_INLINE inline
-#include "ace/OS.i"
-#endif /* ACE_HAS_INLINED_OSCALLS */
-#include "ace/SString.h"
+#define ACE_DEFAULT_MUTEX_A "ACE_MUTEX"
+
+#if defined (UNICODE)
+
+#define ACE_DEFAULT_NAMESPACE_DIR ACE_DEFAULT_NAMESPACE_DIR_W
+#define ACE_DIRECTORY_SEPARATOR_STR ACE_DIRECTORY_SEPARATOR_STR_W
+#define ACE_DIRECTORY_SEPARATOR_CHAR ACE_DIRECTORY_SEPARATOR_CHAR_W
+
+#define ACE_DEFAULT_MUTEX_W L"ACE_MUTEX"
+#define ACE_DEFAULT_MUTEX ACE_DEFAULT_MUTEX_W
+
+#else
+
+#define ACE_DEFAULT_NAMESPACE_DIR ACE_DEFAULT_NAMESPACE_DIR_A
+#define ACE_DIRECTORY_SEPARATOR_STR ACE_DIRECTORY_SEPARATOR_STR_A
+#define ACE_DIRECTORY_SEPARATOR_CHAR ACE_DIRECTORY_SEPARATOR_CHAR_A
+
+#define ACE_DEFAULT_MUTEX_W "ACE_MUTEX"
+#define ACE_DEFAULT_MUTEX ACE_DEFAULT_MUTEX_A
+
+#endif /* UNICODE */
#if defined (UNICODE)
+#include "ace/SString.h"
#define ACE_WIDE_STRING(ASCII) \
ACE_WString (ASCII).fast_rep ()
#else
#define ACE_WIDE_STRING(ASCII) ASCII
#endif /* UNICODE */
+#if defined (ACE_HAS_INLINED_OSCALLS)
+#if defined (ACE_INLINE)
+#undef ACE_INLINE
+#endif /* ACE_INLINE */
+#define ACE_INLINE inline
+#include "ace/OS.i"
+#endif /* ACE_HAS_INLINED_OSCALLS */
+
#endif /* ACE_OS_H */
diff --git a/ace/OS.i b/ace/OS.i
index 1715770dc1f..9ead70f8048 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -2589,7 +2589,7 @@ ACE_INLINE int
ACE_OS::inet_aton (const char *host_name, struct in_addr *addr)
{
long ip_addr = ACE_OS::inet_addr (host_name);
- if (ip_addr == htonl ((ACE_UINT32) -1)
+ if (ip_addr == (long) htonl ((ACE_UINT32) -1)
// Broadcast addresses are weird...
&& ACE_OS::strcmp (host_name, "255.255.255.255") != 0)
return 0;
@@ -5458,19 +5458,6 @@ ACE_OS::dlopen (ACE_WIDE_DL_TYPE filename, int mode)
}
ACE_INLINE int
-ACE_OS::sprintf (wchar_t *buf, const char *format, ...)
-{
- // ACE_TRACE ("ACE_OS::sprintf");
- int result;
- ACE_WString w_format (format);
- va_list ap;
- va_start (ap, w_format);
- ACE_OSCALL (::vswprintf (buf, w_format.fast_rep (), ap), int, -1, result);
- va_end (ap);
- return result;
-}
-
-ACE_INLINE int
ACE_OS::sprintf (wchar_t *buf, const wchar_t *format, ...)
{
// ACE_TRACE ("ACE_OS::sprintf");
@@ -5508,5 +5495,19 @@ ACE_OS::system (const wchar_t *command)
ACE_OSCALL_RETURN (::_wsystem (command), int, -1);
}
+wchar_t *
+ACE_OS::mktemp (wchar_t *s)
+{
+ // ACE_TRACE ("ACE_OS::mktemp");
+ return ::_wmktemp (s);
+}
+
+ACE_INLINE int
+ACE_OS::mkdir (const wchar_t *path, mode_t mode)
+{
+ // ACE_TRACE ("ACE_OS::mkdir");
+ ACE_OSCALL_RETURN (::_wmkdir (path), int, -1);
+}
+
#endif /* ACE_WIN32 */
#endif /* ACE_HAS_UNICODE */
diff --git a/ace/SString.i b/ace/SString.i
index 32e26c627c9..07ffa379e3a 100644
--- a/ace/SString.i
+++ b/ace/SString.i
@@ -26,6 +26,12 @@ ACE_CString::rep (void) const
return new_string;
}
+ACE_INLINE const char *
+ACE_CString::fast_rep (void) const
+{
+ return this->rep_;
+}
+
// Comparison operator.
ACE_INLINE int
diff --git a/netsvcs/lib/TS_Clerk_Handler.cpp b/netsvcs/lib/TS_Clerk_Handler.cpp
index 1eecb808411..533e98291bb 100644
--- a/netsvcs/lib/TS_Clerk_Handler.cpp
+++ b/netsvcs/lib/TS_Clerk_Handler.cpp
@@ -210,7 +210,7 @@ private:
int timeout_;
// Time period for updating system time
- const char *poolname_;
+ LPCTSTR poolname_;
// Pool name for backing store
int blocking_semantics_;
@@ -773,7 +773,7 @@ ACE_TS_Clerk_Processor::parse_args (int argc, char *argv[])
break;
case 'p':
// Get the poolname
- this->poolname_ = get_opt.optarg;
+ this->poolname_ = ACE_WIDE_STRING (get_opt.optarg);
break;
case 'b':
// Blocking semantics