mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-31 17:43:47 +00:00
chore(Deps/Acelite): Update to 6.5.10 (#3450)
This commit is contained in:
152
deps/acelite/ace/Lib_Find.cpp
vendored
152
deps/acelite/ace/Lib_Find.cpp
vendored
@@ -8,6 +8,10 @@
|
||||
#include "ace/OS_Memory.h"
|
||||
#include "ace/OS_NS_fcntl.h"
|
||||
|
||||
#if defined (ACE_HAS_ALLOC_HOOKS)
|
||||
# include "ace/Malloc_Base.h"
|
||||
#endif /* ACE_HAS_ALLOC_HOOKS */
|
||||
|
||||
#if defined (ACE_WIN32)
|
||||
# include "ace/OS_NS_strings.h"
|
||||
#endif /* ACE_WIN32 */
|
||||
@@ -118,72 +122,72 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
{
|
||||
ACE_TRACE ("ACE::ldfind");
|
||||
#if defined (ACE_OPENVMS)
|
||||
if (ACE_OS::strlen(filename) >= maxpathnamelen)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
if (ACE_OS::strlen (filename) >= maxpathnamelen)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
|
||||
dsc$descriptor nameDsc;
|
||||
nameDsc.dsc$b_class = DSC$K_CLASS_S;
|
||||
nameDsc.dsc$b_dtype = DSC$K_DTYPE_T;
|
||||
nameDsc.dsc$w_length = ACE_OS::strlen(filename);
|
||||
nameDsc.dsc$w_length = ACE_OS::strlen (filename);
|
||||
nameDsc.dsc$a_pointer = (char*)filename;
|
||||
|
||||
char symbol[] = "NULL";
|
||||
dsc$descriptor symbolDsc;
|
||||
symbolDsc.dsc$b_class = DSC$K_CLASS_S;
|
||||
symbolDsc.dsc$b_dtype = DSC$K_DTYPE_T;
|
||||
symbolDsc.dsc$w_length = ACE_OS::strlen(symbol);
|
||||
symbolDsc.dsc$w_length = ACE_OS::strlen (symbol);
|
||||
symbolDsc.dsc$a_pointer = symbol;
|
||||
|
||||
int symbolValue;
|
||||
int result;
|
||||
try
|
||||
{
|
||||
result = LIB$FIND_IMAGE_SYMBOL(&nameDsc, &symbolDsc, &symbolValue, 0, 0);
|
||||
}
|
||||
catch (chf$signal_array& sig)
|
||||
{
|
||||
result = sig.chf$l_sig_name;
|
||||
}
|
||||
{
|
||||
result = LIB$FIND_IMAGE_SYMBOL (&nameDsc, &symbolDsc, &symbolValue, 0, 0);
|
||||
}
|
||||
catch (chf$signal_array &sig)
|
||||
{
|
||||
result = sig.chf$l_sig_name;
|
||||
}
|
||||
|
||||
int severity = result & STS$M_SEVERITY;
|
||||
int conditionId = result & STS$M_COND_ID;
|
||||
if (severity == STS$K_SUCCESS || severity == STS$K_WARNING || severity == STS$K_INFO ||
|
||||
(severity == STS$K_ERROR && conditionId == (LIB$_KEYNOTFOU & STS$M_COND_ID)))
|
||||
{
|
||||
ACE_OS::strcpy(pathname, filename);
|
||||
return 0;
|
||||
}
|
||||
{
|
||||
ACE_OS::strcpy (pathname, filename);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ACE_OS::strlen(filename) + ACE_OS::strlen(ACE_DLL_PREFIX) >= maxpathnamelen)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
if (ACE_OS::strlen (filename) + ACE_OS::strlen (ACE_DLL_PREFIX) >= maxpathnamelen)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
ACE_OS::strcpy(pathname, ACE_DLL_PREFIX);
|
||||
ACE_OS::strcat(pathname, filename);
|
||||
nameDsc.dsc$w_length = ACE_OS::strlen(pathname);
|
||||
ACE_OS::strcpy (pathname, ACE_DLL_PREFIX);
|
||||
ACE_OS::strcat (pathname, filename);
|
||||
nameDsc.dsc$w_length = ACE_OS::strlen (pathname);
|
||||
nameDsc.dsc$a_pointer = pathname;
|
||||
try
|
||||
{
|
||||
result = LIB$FIND_IMAGE_SYMBOL(&nameDsc, &symbolDsc, &symbolValue, 0, 0);
|
||||
}
|
||||
catch (chf$signal_array& sig)
|
||||
{
|
||||
result = sig.chf$l_sig_name;
|
||||
}
|
||||
{
|
||||
result = LIB$FIND_IMAGE_SYMBOL (&nameDsc, &symbolDsc, &symbolValue, 0, 0);
|
||||
}
|
||||
catch (chf$signal_array &sig)
|
||||
{
|
||||
result = sig.chf$l_sig_name;
|
||||
}
|
||||
|
||||
severity = result & STS$M_SEVERITY;
|
||||
conditionId = result & STS$M_COND_ID;
|
||||
if (severity == STS$K_SUCCESS || severity == STS$K_WARNING || severity == STS$K_INFO ||
|
||||
(severity == STS$K_ERROR && conditionId == (LIB$_KEYNOTFOU & STS$M_COND_ID)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
errno = ENOENT;
|
||||
return -1;
|
||||
#endif /* ACE_OPENVMS */
|
||||
@@ -312,21 +316,21 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
#endif /* ACE_DIRECTORY_SEPARATOR_CHAR */
|
||||
// First, try matching the filename *without* adding a
|
||||
// prefix.
|
||||
ACE_OS::sprintf (pathname,
|
||||
ACE_TEXT ("%s%s%s"),
|
||||
searchpathname,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
ACE_OS::snprintf (pathname, maxpathnamelen,
|
||||
ACE_TEXT ("%s%s%s"),
|
||||
searchpathname,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
if (ACE_OS::access (pathname, F_OK) == 0)
|
||||
return 0;
|
||||
|
||||
// Second, try matching the filename *with* adding a prefix.
|
||||
ACE_OS::sprintf (pathname,
|
||||
ACE_TEXT ("%s%s%s%s"),
|
||||
searchpathname,
|
||||
ACE_DLL_PREFIX,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
ACE_OS::snprintf (pathname, maxpathnamelen,
|
||||
ACE_TEXT ("%s%s%s%s"),
|
||||
searchpathname,
|
||||
ACE_DLL_PREFIX,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
if (ACE_OS::access (pathname, F_OK) == 0)
|
||||
return 0;
|
||||
}
|
||||
@@ -346,12 +350,12 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
pathname,
|
||||
&file_component);
|
||||
if (pathlen >= maxpathnamelen)
|
||||
{
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (pathlen > 0)
|
||||
return 0;
|
||||
return 0;
|
||||
|
||||
// In case not found we should try again with the ACE_DLL_PREFIX
|
||||
// prefixed
|
||||
@@ -365,16 +369,16 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
pathname,
|
||||
&file_component);
|
||||
if (pathlen >= maxpathnamelen)
|
||||
{
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (pathlen > 0)
|
||||
return 0;
|
||||
return 0;
|
||||
#else
|
||||
ACE_TCHAR *ld_path = 0;
|
||||
# if defined ACE_DEFAULT_LD_SEARCH_PATH
|
||||
ld_path = const_cast <ACE_TCHAR*> (ACE_DEFAULT_LD_SEARCH_PATH);
|
||||
ld_path = const_cast<ACE_TCHAR*> (ACE_DEFAULT_LD_SEARCH_PATH);
|
||||
# else
|
||||
# if defined (ACE_WIN32) || !defined (ACE_USES_WCHAR)
|
||||
ld_path = ACE_OS::getenv (ACE_LD_SEARCH_PATH);
|
||||
@@ -462,24 +466,24 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
|
||||
// First, try matching the filename *without* adding a
|
||||
// prefix.
|
||||
ACE_OS::sprintf (pathname,
|
||||
ACE_TEXT ("%s%c%s%s"),
|
||||
path_entry,
|
||||
ACE_DIRECTORY_SEPARATOR_CHAR,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
ACE_OS::snprintf (pathname, maxpathnamelen,
|
||||
ACE_TEXT ("%s%c%s%s"),
|
||||
path_entry,
|
||||
ACE_DIRECTORY_SEPARATOR_CHAR,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
if (ACE_OS::access (pathname, F_OK) == 0)
|
||||
break;
|
||||
|
||||
// Second, try matching the filename *with* adding a
|
||||
// prefix.
|
||||
ACE_OS::sprintf (pathname,
|
||||
ACE_TEXT ("%s%c%s%s%s"),
|
||||
path_entry,
|
||||
ACE_DIRECTORY_SEPARATOR_CHAR,
|
||||
ACE_DLL_PREFIX,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
ACE_OS::snprintf (pathname, maxpathnamelen,
|
||||
ACE_TEXT ("%s%c%s%s%s"),
|
||||
path_entry,
|
||||
ACE_DIRECTORY_SEPARATOR_CHAR,
|
||||
ACE_DLL_PREFIX,
|
||||
searchfilename,
|
||||
has_suffix ? ACE_TEXT ("") : dll_suffix);
|
||||
if (ACE_OS::access (pathname, F_OK) == 0)
|
||||
break;
|
||||
|
||||
@@ -494,11 +498,15 @@ ACE::ldfind (const ACE_TCHAR* filename,
|
||||
if (ld_path_temp != 0)
|
||||
ACE_OS::free (ld_path_temp);
|
||||
#endif /* ACE_HAS_WINCE */
|
||||
#if defined (ACE_HAS_ALLOC_HOOKS)
|
||||
ACE_Allocator::instance()->free ((void *) ld_path);
|
||||
#else
|
||||
ACE_OS::free ((void *) ld_path);
|
||||
#endif /* ACE_HAS_ALLOC_HOOKS */
|
||||
#if defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
|
||||
if (result == 0 || tag == 0)
|
||||
if (result == 0 || tag == 0)
|
||||
#endif /* ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
#endif /* ACE_WIN32 && !ACE_HAS_WINCE */
|
||||
}
|
||||
@@ -551,9 +559,15 @@ ACE::ldname (const ACE_TCHAR *entry_point)
|
||||
+ 1;
|
||||
|
||||
ACE_TCHAR *new_name;
|
||||
#if defined (ACE_HAS_ALLOC_HOOKS)
|
||||
ACE_ALLOCATOR_RETURN (new_name,
|
||||
static_cast<ACE_TCHAR *>(ACE_Allocator::instance()->malloc(sizeof(ACE_TCHAR) * size)),
|
||||
0);
|
||||
#else
|
||||
ACE_NEW_RETURN (new_name,
|
||||
ACE_TCHAR[size],
|
||||
0);
|
||||
#endif /* ACE_HAS_ALLOC_HOOKS */
|
||||
|
||||
ACE_OS::strcpy (new_name, entry_point);
|
||||
return new_name;
|
||||
|
||||
Reference in New Issue
Block a user