1
1

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.
Этот коммит содержится в:
George Bosilca 2006-08-27 05:09:40 +00:00
родитель 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));