Small snake game in C
Commit dc1a10d8c657
tarball3 files changed+22-26
@@ -198,18 +198,12 @@ direction read_direction(char *string, bool wasd_enabled) {
198198
}199199
}200200
201
-uint8_t make_folder(char *path, char *append, bool create_folder) {201
+uint8_t make_folder(char *path) {202202
203
- char tmp[PATH_LEN];204
- strncpy(tmp, path, PATH_LEN);205
-206
- snprintf(path, PATH_LEN, "%s/%s", tmp, append);207
-208
- if (create_folder) {209
- errno = 0;210
- if (mkdir(path, 0755) && errno != EEXIST) {211
- return 0;212
- }203
+ errno = 0;204
+ if (mkdir(path, 0755) && errno != EEXIST) {205
+ return 0;213206
}207
+214208
return 1;215209
}@@ -38,30 +38,32 @@ int main(int argc, char *args[]) {
3838
char *env;3939
char file_path[PATH_LEN];4040
41
+4142
if ((env = getenv("XDG_DATA_HOME")) == NULL) {4243
if ((env = getenv("HOME")) == NULL) {4344
printf("are you ok?\n");4445
return 1;4546
}47
+ 48
+ char local[] = ".local";49
+ char share[] = "share";4650
47
- strcpy(file_path, env);51
+ 52
+ uint8_t error = 0;4853
49
- if (50
- !make_folder(file_path, ".local", true)51
- ) {52
- printf("Couldn't create folder\n");53
- return 1;54
- }55
- 56
- if (57
- !make_folder(file_path, "share", true)58
- ) {59
- printf("Couldn't create folder\n");54
+ snprintf(file_path, sizeof(file_path), "%s/%s", env, local);55
+ error += make_folder(file_path);56
+57
+ snprintf(file_path, sizeof(file_path), "%s/%s/%s", env, local, share);58
+ error += make_folder(file_path);59
+60
+ if (error <= 1) {61
+ printf("Failed to create Folder");6062
return 1;6163
}6264
63
- make_folder(file_path, SETTING_FILE , false);64
- 65
+ snprintf(file_path, sizeof(file_path), "%s/%s/%s/%s", env, local, share, SETTING_FILE);66
+ 6567
} else {6668
snprintf(file_path, sizeof(file_path), "%s/%s", env, SETTING_FILE);6769
}@@ -95,6 +95,6 @@ char *give_state(board_state square);
9595
9696
direction read_direction(char *string, bool wasd_enabled);9797
98
-uint8_t make_folder(char *path, char *append, bool create_folder);98
+uint8_t make_folder(char *path);9999
100100
#endif