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)
|
||||
{
|
||||
#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
|
||||
const char* p = opal_find_last_path_separator(filename, strlen(filename));
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user