diff --git a/apps/app_rpt.c b/apps/app_rpt.c
index 2fa0cd0d40f60ef0add140f8b71b76ae5fa81202..cc4566fdcaa961467ca777e54aaa2fec5396aa0c 100644
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -318,6 +318,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include <signal.h>
 #include <stdio.h>
+#include <stdint.h>
 #include <unistd.h>
 #include <string.h>
 #include <stdlib.h>
@@ -599,7 +600,7 @@ struct rpt_tele
 	int	mode;
 	struct rpt_link mylink;
 	char param[TELEPARAMSIZE];
-	int	submode;
+	intptr_t submode;
 	unsigned int parrot;
 	pthread_t threadid;
 } ;
@@ -5268,7 +5269,7 @@ char *v1, *v2;
 		strncpy(tele->param, (char *) data, TELEPARAMSIZE - 1);
 		tele->param[TELEPARAMSIZE - 1] = 0;
 	}
-	if (mode == REMXXX) tele->submode = (int) data;
+	if (mode == REMXXX) tele->submode = (intptr_t) data;
 	insque((struct qelem *)tele, (struct qelem *)myrpt->tele.next);
 	rpt_mutex_unlock(&myrpt->lock);
         pthread_attr_init(&attr);
@@ -6375,6 +6376,7 @@ static int function_playback(struct rpt *myrpt, char *param, char *digitbuf, int
 static int function_cop(struct rpt *myrpt, char *param, char *digitbuf, int command_source, struct rpt_link *mylink)
 {
 	char string[16];
+	int res;
 
 	int i, r;
 
@@ -6383,7 +6385,7 @@ static int function_cop(struct rpt *myrpt, char *param, char *digitbuf, int comm
 	
 	switch(myatoi(param)){
 		case 1: /* System reset */
-			system("killall -9 asterisk");
+			res = system("killall -9 asterisk");
 			return DC_COMPLETE;
 
 		case 2:
@@ -9636,7 +9638,8 @@ static int channel_revert(struct rpt *myrpt)
 static int function_remote(struct rpt *myrpt, char *param, char *digitbuf, int command_source, struct rpt_link *mylink)
 {
 	char *s,*s1,*s2;
-	int i,j,p,r,ht,k,l,ls2,m,d,offset,offsave, modesave, defmode;
+	int i,j,r,ht,k,l,ls2,m,d,offset,offsave, modesave, defmode=0;
+	intptr_t p;
 	char multimode = 0;
 	char oc,*cp,*cp1,*cp2;
 	char tmp[20], freq[20] = "", savestr[20] = "";