error check in Get_program_directory() for linux
This commit is contained in:
parent
2892f0330f
commit
b5751ebda8
19
src/setup.c
19
src/setup.c
@ -127,7 +127,26 @@ char * Get_program_directory(const char * argv0)
|
|||||||
program_dir = Extract_path(NULL, path);
|
program_dir = Extract_path(NULL, path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
char * current_dir, * tmp;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
program_dir = NULL;
|
||||||
GFX2_Log(GFX2_WARNING, "readlink(%s) failed : %s\n", "/proc/self/exe", strerror(errno));
|
GFX2_Log(GFX2_WARNING, "readlink(%s) failed : %s\n", "/proc/self/exe", strerror(errno));
|
||||||
|
current_dir = Get_current_directory(NULL, NULL, 0);
|
||||||
|
if (current_dir != NULL)
|
||||||
|
{
|
||||||
|
len = strlen(current_dir) + strlen(argv0) + 2;
|
||||||
|
tmp = malloc(len);
|
||||||
|
if (tmp != NULL)
|
||||||
|
{
|
||||||
|
snprintf(tmp, len, "%s/%s", current_dir, argv0);
|
||||||
|
program_dir = Extract_path(NULL, tmp);
|
||||||
|
free(tmp);
|
||||||
|
}
|
||||||
|
free(current_dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
program_dir = Extract_path(NULL, argv0);
|
program_dir = Extract_path(NULL, argv0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user