summaryrefslogtreecommitdiff
path: root/ace/Lib_Find.cpp
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-24 21:16:01 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-24 21:16:01 +0000
commit25208072651e53e9105236e087def64a03e83e78 (patch)
treedac7d8b535f3d7e1204b196739824edbd837b4e6 /ace/Lib_Find.cpp
parent5d1316e5fc220213cfce1d06513855c9854cb643 (diff)
downloadATCD-25208072651e53e9105236e087def64a03e83e78.tar.gz
ChangeLogTag:Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu>
Diffstat (limited to 'ace/Lib_Find.cpp')
-rw-r--r--ace/Lib_Find.cpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/ace/Lib_Find.cpp b/ace/Lib_Find.cpp
index 0cc47abbffc..32a8ab6fb78 100644
--- a/ace/Lib_Find.cpp
+++ b/ace/Lib_Find.cpp
@@ -186,7 +186,7 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
// OS platform).
else
{
-#ifdef ACE_WIN32
+#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
ACE_TCHAR *file_component = 0;
DWORD pathlen = ACE_TEXT_SearchPath(NULL,
searchfilename,
@@ -209,6 +209,29 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
ACE_OS::getenv (ACE_LD_SEARCH_PATH);
#endif /* ACE_DEFAULT_LD_SEARCH_PATH */
+#if defined (ACE_HAS_WINCE)
+ ACE_TCHAR *ld_path_temp = 0;
+ if (ld_path != 0)
+ {
+ ld_path_temp = (ACE_TCHAR *)
+ ACE_OS::malloc ((ACE_OS::strlen (ld_path) + 2)
+ * sizeof (ACE_TCHAR));
+ if (ld_path_temp != 0)
+ {
+ ACE_OS::strcpy (ld_path_temp,
+ ACE_LD_SEARCH_PATH_SEPARATOR_STR);
+
+ ACE_OS::strcat (ld_path_temp, ld_path);
+ ld_path = ld_path_temp;
+ }
+ else
+ {
+ ACE_OS::free ((void *) ld_path_temp);
+ ld_path = ld_path_temp = 0;
+ }
+ }
+#endif /* ACE_HAS_WINCE */
+
if (ld_path != 0
&& (ld_path = ACE_OS::strdup (ld_path)) != 0)
{
@@ -313,10 +336,18 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
nextholder);
}
+#if defined (ACE_HAS_WINCE)
+ if (ld_path_temp != 0)
+ ACE_OS::free (ld_path_temp);
+#endif /* ACE_HAS_WINCE */
ACE_OS::free ((void *) ld_path);
+#if defined (ACE_HAS_WINCE) && defined (ACE_LD_DECORATOR_STR) && \
+ !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
+ if (result == 0 || tag == 0)
+#endif /* ACE_HAS_WINCE && ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
return result;
}
-#endif /* ACE_WIN32 */
+#endif /* ACE_WIN32 && !ACE_HAS_WINCE */
}
#if defined (ACE_WIN32) && defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
}