]> git.ipfire.org Git - zone-sync.git/commitdiff
main: Create a global error code that we can return
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 18 May 2026 15:56:15 +0000 (15:56 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 18 May 2026 15:56:15 +0000 (15:56 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
main.c

diff --git a/main.c b/main.c
index 95c0755225baed2981d1642efcc649ed6096ebe1..d5baa5c42db78752bd5ad07d8c4a4a1319319127 100644 (file)
--- a/main.c
+++ b/main.c
 #define DEFAULT_PATH   "/tmp"
 
 typedef struct ctx {
+       // Log Level
        int log_level;
 
+       // Return Code
+       int rc;
+
        // Path
        const char* path;
 
@@ -685,5 +689,11 @@ ERROR:
        if (ctx.zones)
                free(ctx.zones);
 
-       return r;
+       // Exit with our local return code if set
+       if (r)
+               return r;
+
+       // Otherwise we use the global return code
+       // that could have been set in any of the callbacks.
+       return ctx.rc;
 }