Small snake game in C
| 1 | #include "settings_file.h" |
| 2 | |
| 3 | uint8_t read_settings(char *settings_path, setting_arr set_arr) { |
| 4 | |
| 5 | FILE* setting_file = fopen(settings_path, "r"); |
| 6 | |
| 7 | if (setting_file == NULL) |
| 8 | return 0; |
| 9 | |
| 10 | char setting_input[SET_LEN]; |
| 11 | |
| 12 | size_t i; |
| 13 | for (i = 0; i < set_arr.length; i++) { |
| 14 | |
| 15 | fgets(setting_input, sizeof(setting_input), setting_file); |
| 16 | |
| 17 | char *endptr; |
| 18 | int64_t new_num = strtoll(setting_input, &endptr, 10); |
| 19 | |
| 20 | if (setting_input != endptr) |
| 21 | set_arr.settings[i] = new_num; |
| 22 | |
| 23 | } |
| 24 | |
| 25 | fclose(setting_file); |
| 26 | |
| 27 | return 1; |
| 28 | } |
| 29 | |
| 30 | |
| 31 | uint8_t init_setting_arr(setting_arr *set_arr, size_t length) { |
| 32 | set_arr->length = length; |
| 33 | |
| 34 | if (!(set_arr->settings = calloc(length, sizeof(int64_t)))) |
| 35 | return 0; |
| 36 | |
| 37 | return 1; |
| 38 | } |
| 39 | |
| 40 | void free_setting_arr(setting_arr set_arr) { |
| 41 | free(set_arr.settings); |
| 42 | } |
| 43 |