[abis_nm] avoid integer-to-pointer casting and associated gcc warnings
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c
index 1bd38de..4d4cec0 100755
--- a/openbsc/src/abis_nm.c
+++ b/openbsc/src/abis_nm.c
@@ -1036,7 +1036,7 @@
else
DEBUGPC(DNM, "\n");
- dispatch_signal(SS_NM, S_NM_NACK, (void*) ((long)mt));
+ dispatch_signal(SS_NM, S_NM_NACK, (void*) &mt);
return 0;
}
#if 0
@@ -2601,7 +2601,7 @@
case NM_MT_IPACC_RSL_CONNECT_NACK:
case NM_MT_IPACC_SET_NVATTR_NACK:
case NM_MT_IPACC_GET_NVATTR_NACK:
- dispatch_signal(SS_NM, S_NM_IPACC_NACK, (void*) ((long)foh->msg_type));
+ dispatch_signal(SS_NM, S_NM_IPACC_NACK, &foh->msg_type);
break;
default:
break;
diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc_init.c
index 815fe2b..bb1e382 100644
--- a/openbsc/src/bsc_init.c
+++ b/openbsc/src/bsc_init.c
@@ -443,7 +443,7 @@
}
/* Callback function for NACK on the OML NM */
-static int oml_msg_nack(int mt)
+static int oml_msg_nack(u_int8_t mt)
{
if (mt == NM_MT_SET_BTS_ATTR_NACK) {
fprintf(stderr, "Failed to set BTS attributes. That is fatal. "
@@ -458,11 +458,14 @@
static int nm_sig_cb(unsigned int subsys, unsigned int signal,
void *handler_data, void *signal_data)
{
+ u_int8_t *msg_type;
+
switch (signal) {
case S_NM_SW_ACTIV_REP:
return sw_activ_rep(signal_data);
case S_NM_NACK:
- return oml_msg_nack((int)signal_data);
+ msg_type = signal_data;
+ return oml_msg_nack(*msg_type);
default:
break;
}
diff --git a/openbsc/src/ipaccess-config.c b/openbsc/src/ipaccess-config.c
index 49c0ea3..1b2aa5e 100644
--- a/openbsc/src/ipaccess-config.c
+++ b/openbsc/src/ipaccess-config.c
@@ -61,7 +61,7 @@
* result. The nanoBTS will send us a NACK when we did something the
* BTS didn't like.
*/
-static int ipacc_msg_nack(int mt)
+static int ipacc_msg_nack(u_int8_t mt)
{
fprintf(stderr, "Failure to set attribute. This seems fatal\n");
exit(-1);
@@ -149,9 +149,12 @@
static int nm_sig_cb(unsigned int subsys, unsigned int signal,
void *handler_data, void *signal_data)
{
+ u_int8_t *msg_type;
+
switch (signal) {
case S_NM_IPACC_NACK:
- return ipacc_msg_nack((int)signal_data);
+ msg_type = signal_data;
+ return ipacc_msg_nack(*msg_type);
case S_NM_TEST_REP:
return test_rep(signal_data);
default: