diff --git a/src/opcodes.c b/src/opcodes.c
index df459febd37ccaf45df3e8f71d6d2081bab74aa4..2e111d5ef4d1cfbb15de31b0686721d0c4e9b45a 100644
--- a/src/opcodes.c
+++ b/src/opcodes.c
@@ -253,11 +253,11 @@ static int read_set(char *match,int cnt,char *set,int match_len)
 static INT32 low_sscanf(INT32 num_arg)
 {
   char *input;
-  int input_len;
+  INT32 input_len;
   char *match;
-  int match_len;
+  INT32 match_len;
   struct svalue sval;
-  int e,cnt,matches,eye,arg;
+  INT32 e,cnt,matches,eye,arg;
   int no_assign;
   char set[256];
   struct svalue *argp;