preventing segfault when user doesn't have homedir in /home
This commit is contained in:
parent
a7523a64a2
commit
d23c166fc6
@ -51,7 +51,7 @@ enum WHY2_OUTPUT_FORMAT
|
||||
|
||||
#define WHY2_VERSION "v5.0" //WHY2_VERSION OF CURRENT BUILD > DO NOT TOUCH THIS <
|
||||
#define WHY2_VERSIONS_URL "https://raw.githubusercontent.com/ENGO150/WHY2/release/versions.json" //URL FOR GETTING versions.json
|
||||
#define WHY2_CONFIG_DIR "/home/{USER}/.config/WHY2"
|
||||
#define WHY2_CONFIG_DIR "{HOME}/.config/WHY2"
|
||||
#define WHY2_VERSIONS_NAME WHY2_CONFIG_DIR "/.versions.json" //do I have to explain this?
|
||||
|
||||
#define WHY2_UPDATE_URL "https://github.com/ENGO150/WHY2.git" // REPOSITORY URL FOR UPDATES (YOU DON'T SAY)
|
||||
|
@ -46,11 +46,11 @@ void init_config(char *filename)
|
||||
char *buffer = why2_malloc(strlen(WHY2_CONFIG_DIR) + strlen(filename) + 2);
|
||||
sprintf(buffer, "%s/%s", WHY2_CONFIG_DIR, filename);
|
||||
|
||||
char *path = why2_replace(buffer, "{USER}", getenv("USER"));
|
||||
char *path = why2_replace(buffer, "{HOME}", getenv("HOME"));
|
||||
|
||||
if (access(path, R_OK) != 0) //CONFIG DOESN'T EXIST
|
||||
{
|
||||
char *config_dir = why2_replace(WHY2_CONFIG_DIR, "{USER}", getenv("USER"));
|
||||
char *config_dir = why2_replace(WHY2_CONFIG_DIR, "{HOME}", getenv("HOME"));
|
||||
|
||||
//CREATE CONFIG DIRECTORY
|
||||
mkdir(config_dir, 0700);
|
||||
@ -85,11 +85,11 @@ char *config(char *key, enum CONFIG_TYPES type)
|
||||
switch (type) //GET path
|
||||
{
|
||||
case CLIENT:
|
||||
path = why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_CLIENT, "{USER}", getenv("USER"));
|
||||
path = why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_CLIENT, "{HOME}", getenv("HOME"));
|
||||
break;
|
||||
|
||||
case SERVER:
|
||||
path = why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_SERVER, "{USER}", getenv("USER"));
|
||||
path = why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_SERVER, "{HOME}", getenv("HOME"));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -149,5 +149,5 @@ char *why2_chat_client_config(char *key)
|
||||
|
||||
char *why2_get_server_users_path(void)
|
||||
{
|
||||
return why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_SERVER_USERS, "{USER}", getenv("USER"));
|
||||
return why2_replace(WHY2_CONFIG_DIR "/" WHY2_CHAT_CONFIG_SERVER_USERS, "{HOME}", getenv("HOME"));
|
||||
}
|
@ -110,7 +110,7 @@ void why2_chat_init_keys(void)
|
||||
FILE *private;
|
||||
|
||||
//GET PATH TO KEY DIR
|
||||
char *path = why2_replace(WHY2_CHAT_KEY_LOCATION, "{USER}", getenv("USER"));
|
||||
char *path = why2_replace(WHY2_CHAT_KEY_LOCATION, "{HOME}", getenv("HOME"));
|
||||
|
||||
//ALLOCATE THE KEY PATHS
|
||||
char *public_path = why2_malloc(strlen(path) + strlen(WHY2_CHAT_PUB_KEY) + 3);
|
||||
|
@ -56,7 +56,7 @@ int removeDirectory(char *path)
|
||||
void why2_directory(void)
|
||||
{
|
||||
struct stat st;
|
||||
char *buffer = why2_replace(WHY2_CONFIG_DIR, "{USER}", getenv("USER"));
|
||||
char *buffer = why2_replace(WHY2_CONFIG_DIR, "{HOME}", getenv("HOME"));
|
||||
|
||||
//CREATE USER CONFIG FOLDER
|
||||
if (stat(buffer, &st) == -1)
|
||||
@ -79,7 +79,7 @@ enum WHY2_EXIT_CODES why2_check_version(void)
|
||||
int not_found_buffer = 0;
|
||||
|
||||
//GET VERSION FILE
|
||||
char *version_file = why2_replace(WHY2_VERSIONS_NAME, "{USER}", getenv("USER"));
|
||||
char *version_file = why2_replace(WHY2_VERSIONS_NAME, "{HOME}", getenv("HOME"));
|
||||
|
||||
//CURL VARIABLES
|
||||
CURL *curl = curl_easy_init();
|
||||
|
Loading…
x
Reference in New Issue
Block a user