Skip to content

Commit 52056be

Browse files
committed
Keeping the possible config filepaths locally
1 parent c62408f commit 52056be

File tree

7 files changed

+22
-18
lines changed

7 files changed

+22
-18
lines changed

src/app_config.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,9 @@ enum ConfigError parse_app_config(void) {
174174
struct IniConfig ini;
175175
memset(&ini, 0, sizeof(struct IniConfig));
176176

177-
if (!open_config(&ini, "./divinus.yaml") &&
178-
!open_config(&ini, "/etc/divinus.yaml")) {
177+
FILE *file;
178+
open_app_config(&file, "r");
179+
if (!open_config(&ini, &file)) {
179180
printf("Can't find config divinus.yaml in:\n"
180181
" ./divinus.yaml\n /etc/divinus.yaml\n");
181182
return -1;

src/hal/config.c

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -276,31 +276,30 @@ enum ConfigError parse_uint32(
276276
return CONFIG_OK;
277277
}
278278

279-
bool open_config(struct IniConfig *ini, const char *path) {
280-
FILE *file = fopen(path, "rb");
281-
if (!file)
279+
bool open_config(struct IniConfig *ini, FILE **file) {
280+
if (!*file)
282281
return false;
283282

284-
fseek(file, 0, SEEK_END);
285-
size_t length = ftell(file);
286-
fseek(file, 0, SEEK_SET);
283+
fseek(*file, 0, SEEK_END);
284+
size_t length = ftell(*file);
285+
fseek(*file, 0, SEEK_SET);
287286

288287
ini->str = malloc(length + 1);
289288
if (!ini->str) {
290289
printf("Can't allocate buf in parse_sensor_config\n");
291-
fclose(file);
290+
fclose(*file);
292291
return false;
293292
}
294293

295-
size_t n = fread(ini->str, 1, length, file);
294+
size_t n = fread(ini->str, 1, length, *file);
296295
if (n != length) {
297-
printf("Can't read all file %s\n", path);
298-
fclose(file);
296+
printf("Can't read all file\n");
297+
fclose(*file);
299298
free(ini->str);
300299
return false;
301300
}
302301

303-
fclose(file);
302+
fclose(*file);
304303
ini->str[length] = 0;
305304

306305
return true;

src/hal/config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ enum ConfigError {
3434
CONFIG_SENSOR_NOT_FOUND,
3535
};
3636

37-
bool open_config(struct IniConfig *ini, const char *path);
37+
bool open_config(struct IniConfig *ini, FILE **file);
3838
enum ConfigError find_sections(struct IniConfig *ini);
3939
enum ConfigError section_pos(
4040
struct IniConfig *ini, const char *section, int *start_pos, int *end_pos);

src/hal/hisi/v1_config.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,8 @@ static enum ConfigError v1_parse_sensor_config(char *path, v1_config_impl *confi
449449
enum ConfigError err;
450450

451451
// load config file to string
452-
if (!open_config(&ini, path))
452+
FILE *file = fopen(path, "r");
453+
if (!open_config(&ini, &file))
453454
return (enum ConfigError)-1;
454455

455456
find_sections(&ini);

src/hal/hisi/v2_config.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,8 @@ static enum ConfigError v2_parse_sensor_config(char *path, v2_config_impl *confi
447447
enum ConfigError err;
448448

449449
// load config file to string
450-
if (!open_config(&ini, path))
450+
FILE *file = fopen(path, "r");
451+
if (!open_config(&ini, &file))
451452
return (enum ConfigError)-1;
452453

453454
find_sections(&ini);

src/hal/hisi/v3_config.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,8 @@ static enum ConfigError v3_parse_sensor_config(char *path, v3_config_impl *confi
445445
enum ConfigError err;
446446

447447
// load config file to string
448-
if (!open_config(&ini, path))
448+
FILE *file = fopen(path, "r");
449+
if (!open_config(&ini, &file))
449450
return (enum ConfigError)-1;
450451

451452
find_sections(&ini);

src/hal/hisi/v4_config.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,8 @@ static enum ConfigError v4_parse_sensor_config(char *path, v4_config_impl *confi
331331
enum ConfigError err;
332332

333333
// load config file to string
334-
if (!open_config(&ini, path))
334+
FILE *file = fopen(path, "r");
335+
if (!open_config(&ini, &file))
335336
return (enum ConfigError)-1;
336337

337338
find_sections(&ini);

0 commit comments

Comments
 (0)