Data-Over-Voice
[lcr.git] / main.c
diff --git a/main.c b/main.c
index 140fc50..1e85e39 100644 (file)
--- a/main.c
+++ b/main.c
@@ -187,7 +187,6 @@ int main(int argc, char *argv[])
 #endif
        char                    tracetext[256], lock[128];
        char                    options_error[256];
-       int                     polling = 0;
 
 #if 0
        /* init fdset */
@@ -222,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");
@@ -258,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;
@@ -270,7 +275,6 @@ int main(int argc, char *argv[])
                PERROR("%s", options_error);
                goto free;
        }
-       polling = options.polling;
 
 #ifdef WITH_MISDN
        /* init mISDN */
@@ -372,7 +376,6 @@ int main(int argc, char *argv[])
 #ifdef WITH_SIP
        /* init SIP globals */
        sip_init();
-       polling = 1; /* must poll, because of SIP events */
 #endif
 
 #ifdef WITH_SS5
@@ -492,7 +495,11 @@ init is done when interface is up
                        usleep(10000);
                }
 #else
+#ifdef WITH_SIP
+               if (options.polling || any_sip_interface) {
+#else
                if (options.polling) {
+#endif
                        if (!select_main(1, NULL, NULL, NULL)) {
 #ifdef WITH_SIP
                                /* FIXME: check if work was done */