From 9d184d8052944a742236982735b3ab59ca3a8517 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Sat, 20 Dec 2025 17:41:56 +0800 Subject: enable config.txt for windows --- ezlive_config.c | 8 +++++--- ezlive_config.h | 2 +- main.c | 17 +++++++++++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ezlive_config.c b/ezlive_config.c index 2b059b0..618c051 100644 --- a/ezlive_config.c +++ b/ezlive_config.c @@ -4,6 +4,7 @@ #include #include #include +#include EZLiveConfig *ezlive_config; @@ -37,13 +38,13 @@ static void set_field(const char **field, const char *value) { *field = strdup(value); } -void EZLiveConfig_load(EZLiveConfig *self, const char *filename) { - if (!self || !filename) return; +bool EZLiveConfig_load(EZLiveConfig *self, const char *filename) { + if (!self || !filename) return false; FILE *fp = fopen(filename, "r"); if (!fp) { perror("fopen"); - return; + return false; } char line[1024]; @@ -84,6 +85,7 @@ void EZLiveConfig_load(EZLiveConfig *self, const char *filename) { } fclose(fp); + return true; } int EZLiveConfig_validate(EZLiveConfig *self) { diff --git a/ezlive_config.h b/ezlive_config.h index 90dbf8c..576944a 100644 --- a/ezlive_config.h +++ b/ezlive_config.h @@ -16,7 +16,7 @@ typedef struct { extern EZLiveConfig *ezlive_config; void EZLiveConfig_init(EZLiveConfig *self); -void EZLiveConfig_load(EZLiveConfig *self, const char *filename); +bool EZLiveConfig_load(EZLiveConfig *self, const char *filename); int EZLiveConfig_validate(EZLiveConfig *self); #endif \ No newline at end of file diff --git a/main.c b/main.c index b77557a..66fe7c1 100644 --- a/main.c +++ b/main.c @@ -80,10 +80,23 @@ void on_srt_data(void *ctx, char *buf, size_t size) { int main(int argc, char **argv) { ezlive_config = malloc(sizeof(EZLiveConfig)); EZLiveConfig_init(ezlive_config); + bool succ; if (argc == 1) { - EZLiveConfig_load(ezlive_config, "./config"); + succ = EZLiveConfig_load(ezlive_config, "./config"); +#if defined(_WIN32) + if (!succ) { + succ = EZLiveConfig_load(ezlive_config, "./config.txt"); + } +#endif + if (!succ) { + fprintf(stderr, "Failed to load config.\n"); + return -1; + } } else if (argc == 2) { - EZLiveConfig_load(ezlive_config, argv[1]); + if (!EZLiveConfig_load(ezlive_config, argv[1])) { + fprintf(stderr, "Failed to load config.\n"); + return -1; + } } else { fprintf(stderr, "wrong args.\n"); exit(-1); -- cgit v1.0