Fixed wrong reference when requesting a channel from chan_lcr.
[lcr.git] / gsm_bs.cpp
index 3ac5bda..2da06c7 100644 (file)
@@ -796,18 +796,8 @@ int Pgsm_bs::message_epoint(unsigned int epoint_id, int message_id, union parame
 
 int gsm_bs_exit(int rc)
 {
-#if 0
-       /* free gsm instance */
-       if (gsm) {
-               /* shutdown network */
-               if (gsm->network)
-                       bsc_shutdown_net((struct gsm_network *)gsm->network);
-               /* free network */
-//             if (gsm->network) {
-//                     free((struct gsm_network *)gsm->network); /* TBD */
-//             }
-       }
-#endif
+       gsm->network = NULL;
+
        return(rc);
 }
 
@@ -932,7 +922,7 @@ static int mncc_fd_write(struct lcr_fd *lfd, void *inst, int idx)
                        return mncc_fd_close(lfd);
                if (rc < 0)
                        return rc;
-               if (rc < qe->len)
+               if (rc < (int)qe->len)
                        return -1;
                /* dequeue the successfully sent message */
                qe2 = mncc_q_dequeue();
@@ -1005,7 +995,7 @@ static int socket_retry_cb(struct lcr_timer *timer, void *instance, int index)
 int gsm_bs_init(void)
 {
        gsm->sun.sun_family = AF_UNIX;
-       strcpy(gsm->sun.sun_path, "/tmp/bsc_mncc");
+       SCPY(gsm->sun.sun_path, "/tmp/bsc_mncc");
 
        memset(&gsm->socket_retry, 0, sizeof(gsm->socket_retry));
        add_timer(&gsm->socket_retry, socket_retry_cb, NULL, 0);
@@ -1013,5 +1003,8 @@ int gsm_bs_init(void)
        /* do the initial connect */
        socket_retry_cb(&gsm->socket_retry, NULL, 0);
 
+       /* dummy instance */
+       gsm->network = (void *)1;
+
        return 0;
 }