dirname have a different behavior depending on the operating system.
opal_dirname have the same behavior all the time. It does not modify the original string and it returns a freshly allocated string. This commit was SVN r11443.
Этот коммит содержится в:
родитель
ee75c45ec5
Коммит
e58b611512
@ -132,7 +132,10 @@ char *opal_basename(const char *filename)
|
|||||||
char* opal_dirname(const char* filename)
|
char* opal_dirname(const char* filename)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_DIRNAME)
|
#if defined(HAVE_DIRNAME)
|
||||||
return strdup(dirname(filename));
|
char* safe_tmp = strdup(filename), *result;
|
||||||
|
result = strdup(dirname(safe_tmp));
|
||||||
|
free(safe_tmp);
|
||||||
|
return result;
|
||||||
#else
|
#else
|
||||||
const char* p = opal_find_last_path_separator(filename, strlen(filename));
|
const char* p = opal_find_last_path_separator(filename, strlen(filename));
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user