]> git.corax.cc Git - mwm/commitdiff
main: Keep a pointer to the mwm instance in a global variable
authorMatthias Kruk <m@m10k.eu>
Tue, 18 May 2021 23:15:16 +0000 (08:15 +0900)
committerMatthias Kruk <m@m10k.eu>
Tue, 18 May 2021 23:15:16 +0000 (08:15 +0900)
There are cases when we cannot pass a pointer to the mwm context
directly. In these cases, we will need to refer to the mwm instance
through a global variable. This commit adds the global reference.

main.c

diff --git a/main.c b/main.c
index 3d83b58c4e02575937d9cd2893b216c010c66f84..4a2a6438bebfee096561f51d8859108ab081acb1 100644 (file)
--- a/main.c
+++ b/main.c
@@ -10,6 +10,8 @@ static struct option cmd_opts[] = {
        { NULL }
 };
 
+struct mwm *__mwm;
+
 static void print_usage(const char *argv0)
 {
        printf("Usage: %s [-h]\n"
@@ -22,7 +24,6 @@ static void print_usage(const char *argv0)
 
 int main(int argc, char *argv[])
 {
-       struct mwm *mwm;
        int opt;
        int err;
 
@@ -41,19 +42,19 @@ int main(int argc, char *argv[])
                }
        } while(opt >= 0);
 
-       err = mwm_new(&mwm);
+       err = mwm_new(&__mwm);
 
        if(err < 0) {
                fprintf(stderr, "mwm_new: %s\n", strerror(-err));
                return(1);
        }
 
-       err = mwm_init(mwm);
+       err = mwm_init(__mwm);
 
        if(err < 0) {
                fprintf(stderr, "mwm_init: %s\n", strerror(-err));
        } else {
-               err = mwm_run(mwm);
+               err = mwm_run(__mwm);
 
                if(err < 0) {
                        fprintf(stderr, "mwm_run: %s\n",
@@ -61,7 +62,7 @@ int main(int argc, char *argv[])
                }
        }
 
-       mwm_free(&mwm);
+       mwm_free(&__mwm);
 
        return(err);
 }