aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-20 17:41:56 +0800
committerMistivia <i@mistivia.com>2025-12-20 17:41:56 +0800
commit9d184d8052944a742236982735b3ab59ca3a8517 (patch)
treecd209c1aa8f610ccd15ec2aa5975d4de67d846f3
parentb56a4cc5836330e64b4a49b5de76eeb8cbc376d2 (diff)
enable config.txt for windows
-rw-r--r--ezlive_config.c8
-rw-r--r--ezlive_config.h2
-rw-r--r--main.c17
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 <stdio.h>
#include <string.h>
#include <ctype.h>
+#include <stdbool.h>
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);