fixup
[lcr.git] / main.c
diff --git a/main.c b/main.c
index 35b972f..5c13f17 100644 (file)
--- a/main.c
+++ b/main.c
@@ -221,6 +221,12 @@ int main(int argc, char *argv[])
        crc_init();
 #endif
 
+#ifdef WITH_VOOTP
+       /* init VoOTP */
+       vootp_init(stderr);
+       vootp_loglevel(VOOTP_LOGL_INFO);
+#endif
+
        /* the mutex init */
        if (pthread_mutex_init(&mutexd, NULL)) {
                fprintf(stderr, "cannot create 'PDEBUG' mutex\n");
@@ -257,7 +263,7 @@ int main(int argc, char *argv[])
 
        /* query available isdn ports */
        if (!(strcasecmp(argv[1],"query"))) {
-               int rc;
+               int __attribute__((__unused__)) rc;
                fprintf(stderr, "-> Using 'misdn_info'\n");
                rc = system("misdn_info");
                ret = 0;
@@ -391,15 +397,12 @@ int main(int argc, char *argv[])
                goto free;
        }
 #endif
-#if 0
-init is done when interface is up
 #ifdef WITH_GSM_BS
        if (gsm_bs_init()) {
                fprintf(stderr, "GSM BS initialization failed.\n");
                goto free;
        }
 #endif
-#endif
 #ifdef WITH_GSM_MS
        if (gsm_ms_init()) {
                fprintf(stderr, "GSM MS initialization failed.\n");
@@ -546,16 +549,16 @@ free:
        debug_count++;
        join_free();
 
-       /* free interfaces */
-       if (interface_first)
-               free_interfaces(interface_first);
-       interface_first = NULL;
-
 #ifdef WITH_MISDN
        /* close isdn ports */
        mISDNport_close_all();
 #endif
 
+       /* free interfaces */
+       if (interface_first)
+               free_interfaces(interface_first);
+       interface_first = NULL;
+
        /* flush messages */
        debug_count++;
        i = 0;
@@ -612,12 +615,9 @@ free:
 #endif
 
        /* free gsm */
-#if 0
-exit is done when interface is down
 #ifdef WITH_GSM_BS
        gsm_bs_exit(0);
 #endif
-#endif
 #ifdef WITH_GSM_MS
        gsm_ms_exit(0);
 #endif