<div dir="ltr">Sorry, it was a Copy/Paste style mistake. Fixed.<span class="im"><br><br><br>diff --git a/src/host/layer23/include/osmocom/bb/common/sap_interface.h b/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>index bf19356..e4e64ce 100644<br>--- a/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>+++ b/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>@@ -11,6 +11,7 @@ int osmosap_sapsocket(struct osmocom_ms *ms, const char *path);<br> int osmosap_init(struct osmocom_ms *ms);<br> <br> enum osmosap_state {<br>+ SAP_SOCKET_ERROR,<br> SAP_NOT_CONNECTED,<br> SAP_IDLE,<br> SAP_CONNECTION_UNDER_NEGOTIATION,<br>diff --git a/src/host/layer23/src/common/sap_interface.c b/src/host/layer23/src/common/sap_interface.c<br>index a56f4f2..d5e8d1d 100644<br>--- a/src/host/layer23/src/common/sap_interface.c<br>+++ b/src/host/layer23/src/common/sap_interface.c<br>@@ -515,7 +515,7 @@ int sap_open(struct osmocom_ms *ms, const char *socket_path)<br> rc = connect(ms->sap_wq.bfd.fd, (struct sockaddr *) &local, sizeof(local));<br> if (rc < 0) {<br> fprintf(stderr, "Failed to connect to '%s'\n", local.sun_path);<br>- set->sap_socket_path[0] = 0;<br>+ ms->sap_entity.sap_state = SAP_SOCKET_ERROR;<br> close(ms->sap_wq.bfd.fd);<br> return rc;<br> }<br>diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c<br>index 8e8d7bf..df9fbd2 100644<br>--- a/src/host/layer23/src/common/sim.c<br>+++ b/src/host/layer23/src/common/sim.c<br>@@ -188,7 +188,7 @@ static int sim_apdu_send(struct osmocom_ms *ms, uint8_t *data, uint16_t length)<br> <br> /* adding SAP client support<br> * it makes more sense to do it here then in L1CTL */<br>- if(ms->settings.sap_socket_path[0] == 0) {<br>+ if(ms->sap_entity.sap_state == SAP_SOCKET_ERROR) {<br> LOGP(DSIM, LOGL_INFO, "Using built-in SIM reader\n");<br> l1ctl_tx_sim_req(ms, data, length);<br> } else {<br>diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c<br>index 5782a17..fd0fd0c 100644<br>--- a/src/host/layer23/src/mobile/vty_interface.c<br>+++ b/src/host/layer23/src/mobile/vty_interface.c<br>@@ -1067,7 +1067,7 @@ DEFUN(cfg_no_gps_enable, cfg_no_gps_enable_cmd, "no gps enable",<br> }<br> <br> #ifdef _HAVE_GPSD<br>-DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT",<br>+DEFUN(cfg_gpsd_host, cfg_gpsd_host_cmd, "gpsd host HOST:PORT",<br> "GPS receiver\nSelect gpsd host and port\n"<br> "IP and port (optional) of the host running gpsd")<br> {<br>@@ -1075,7 +1075,7 @@ DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT",<br> if (colon != NULL) {<br> memcpy(g.gpsd_host, argv[0], colon - argv[0] - 1);<br> g.gpsd_host[colon - argv[0]] = '\0';<br>- memcpy(g.gpsd_port, colon, strlen(colon));<br>+ memcpy(g.gpsd_port, colon + 1, strlen(colon));<br> g.gpsd_port[strlen(colon)] = '\0';<br> } else {<br> snprintf(g.gpsd_host, ARRAY_SIZE(g.gpsd_host), "%s", argv[0]);<br>@@ -1499,8 +1499,7 @@ static int config_write(struct vty *vty)<br> struct osmocom_ms *ms;<br> <br> #ifdef _HAVE_GPSD<br>- vty_out(vty, "gpsd host %s%s", g.gpsd_host, VTY_NEWLINE);<br>- vty_out(vty, "gpsd port %s%s", g.gpsd_port, VTY_NEWLINE);<br>+ vty_out(vty, "gpsd host %s:%s%s", g.gpsd_host, g.gpsd_port, VTY_NEWLINE);<br> #endif<br> vty_out(vty, "gps device %s%s", g.device, VTY_NEWLINE);<br> if (g.baud)<br>@@ -2822,7 +2821,7 @@ int ms_vty_init(void)<br> install_element(ENABLE_NODE, &delete_forbidden_plmn_cmd);<br> <br> #ifdef _HAVE_GPSD<br>- install_element(CONFIG_NODE, &cfg_gps_host_cmd);<br>+ install_element(CONFIG_NODE, &cfg_gpsd_host_cmd);<br> #endif<br> install_element(CONFIG_NODE, &cfg_gps_device_cmd);<br> install_element(CONFIG_NODE, &cfg_gps_baud_cmd);<br><br></span></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-03 1:38 GMT+06:00 Вадим Яницкий <span dir="ltr"><<a href="mailto:axilirator@gmail.com" target="_blank">axilirator@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry, was a Copy/Paste mistake. Fixed.<span class=""><br><br>diff --git a/src/host/layer23/include/osmocom/bb/common/sap_interface.h b/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>index bf19356..e4e64ce 100644<br>--- a/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>+++ b/src/host/layer23/include/osmocom/bb/common/sap_interface.h<br>@@ -11,6 +11,7 @@ int osmosap_sapsocket(struct osmocom_ms *ms, const char *path);<br> int osmosap_init(struct osmocom_ms *ms);<br> <br> enum osmosap_state {<br>+ SAP_SOCKET_ERROR,<br> SAP_NOT_CONNECTED,<br> SAP_IDLE,<br> SAP_CONNECTION_UNDER_NEGOTIATION,<br>diff --git a/src/host/layer23/src/common/sap_interface.c b/src/host/layer23/src/common/sap_interface.c<br></span>index a56f4f2..d5e8d1d 100644<br>--- a/src/host/layer23/src/common/sap_interface.c<br>+++ b/src/host/layer23/src/common/sap_interface.c<br>@@ -515,7 +515,7 @@ int sap_open(struct osmocom_ms *ms, const char *socket_path)<span class=""><br> rc = connect(ms->sap_wq.bfd.fd, (struct sockaddr *) &local, sizeof(local));<br> if (rc < 0) {<br> fprintf(stderr, "Failed to connect to '%s'\n", local.sun_path);<br></span><span class="">- set->sap_socket_path[0] = 0;<br></span>+ ms->sap_entity.sap_state = SAP_SOCKET_ERROR;<div><div class="h5"><br> close(ms->sap_wq.bfd.fd);<br> return rc;<br> }<br>diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c<br>index 8e8d7bf..df9fbd2 100644<br>--- a/src/host/layer23/src/common/sim.c<br>+++ b/src/host/layer23/src/common/sim.c<br>@@ -188,7 +188,7 @@ static int sim_apdu_send(struct osmocom_ms *ms, uint8_t *data, uint16_t length)<br> <br> /* adding SAP client support<br> * it makes more sense to do it here then in L1CTL */<br>- if(ms->settings.sap_socket_path[0] == 0) {<br>+ if(ms->sap_entity.sap_state == SAP_SOCKET_ERROR) {<br> LOGP(DSIM, LOGL_INFO, "Using built-in SIM reader\n");<br> l1ctl_tx_sim_req(ms, data, length);<br> } else {<br>diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c<br>index 5782a17..fd0fd0c 100644<br>--- a/src/host/layer23/src/mobile/vty_interface.c<br>+++ b/src/host/layer23/src/mobile/vty_interface.c<br>@@ -1067,7 +1067,7 @@ DEFUN(cfg_no_gps_enable, cfg_no_gps_enable_cmd, "no gps enable",<br> }<br> <br> #ifdef _HAVE_GPSD<br>-DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT",<br>+DEFUN(cfg_gpsd_host, cfg_gpsd_host_cmd, "gpsd host HOST:PORT",<br> "GPS receiver\nSelect gpsd host and port\n"<br> "IP and port (optional) of the host running gpsd")<br> {<br>@@ -1075,7 +1075,7 @@ DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT",<br> if (colon != NULL) {<br> memcpy(g.gpsd_host, argv[0], colon - argv[0] - 1);<br> g.gpsd_host[colon - argv[0]] = '\0';<br>- memcpy(g.gpsd_port, colon, strlen(colon));<br>+ memcpy(g.gpsd_port, colon + 1, strlen(colon));<br> g.gpsd_port[strlen(colon)] = '\0';<br> } else {<br> snprintf(g.gpsd_host, ARRAY_SIZE(g.gpsd_host), "%s", argv[0]);<br>@@ -1499,8 +1499,7 @@ static int config_write(struct vty *vty)<br> struct osmocom_ms *ms;<br> <br> #ifdef _HAVE_GPSD<br>- vty_out(vty, "gpsd host %s%s", g.gpsd_host, VTY_NEWLINE);<br>- vty_out(vty, "gpsd port %s%s", g.gpsd_port, VTY_NEWLINE);<br>+ vty_out(vty, "gpsd host %s:%s%s", g.gpsd_host, g.gpsd_port, VTY_NEWLINE);<br> #endif<br> vty_out(vty, "gps device %s%s", g.device, VTY_NEWLINE);<br> if (g.baud)<br>@@ -2822,7 +2821,7 @@ int ms_vty_init(void)<br> install_element(ENABLE_NODE, &delete_forbidden_plmn_cmd);<br> <br> #ifdef _HAVE_GPSD<br>- install_element(CONFIG_NODE, &cfg_gps_host_cmd);<br>+ install_element(CONFIG_NODE, &cfg_gpsd_host_cmd);<br> #endif<br> install_element(CONFIG_NODE, &cfg_gps_device_cmd);<br> install_element(CONFIG_NODE, &cfg_gps_baud_cmd);<br><br></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-01-03 1:19 GMT+06:00 Harald Welte <span dir="ltr"><<a href="mailto:laforge@gnumonks.org" target="_blank">laforge@gnumonks.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vadim,<br>
<br>
thanks for your patch, but..<br>
<span><br>
On Sun, Jan 03, 2016 at 01:14:23AM +0600, Вадим Яницкий wrote:<br>
> - set->sap_socket_path[0] = 0;<br>
> + // set->sap_socket_path[0] = 0;<br>
> + ms->sap_entity.sap_state == SAP_SOCKET_ERROR;<br>
<br>
</span>a) if you remove code, remove it for good, not just comment it out<br>
<br>
b) the double-equals will not cause an assignment. I don't think you<br>
tested this code...<br>
<br>
Regards,<br>
Harald<br>
<span><font color="#888888">--<br>
- Harald Welte <<a href="mailto:laforge@gnumonks.org" target="_blank">laforge@gnumonks.org</a>> <a href="http://laforge.gnumonks.org/" rel="noreferrer" target="_blank">http://laforge.gnumonks.org/</a><br>
============================================================================<br>
"Privacy in residential applications is a desirable marketing option."<br>
(ETSI EN 300 175-7 Ch. A6)<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>