[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: