jag

snake_c

public

Small snake game in C

Star0
Watch0

Commit dc1a10d8c657

tarball

Jaglekon <58274093+Jaglekon@users.noreply.github.com>2026-03-31 21:41 UTC

3 files changed+22-26
no XDG_DATA_HOME fix ver 9
Modified file: logic.c+5 additions−11 deletions
@@ -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 }
Modified file: snake.c+16 additions−14 deletions
@@ -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 }
Modified file: snake.h+1 additions−1 deletions
@@ -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