diff --git a/src/object.c b/src/object.c
index 9ea22f085e29055ffe4690c39ec5cbf25d731295..decdc6900027de8a1b699509eb0cccab2fe7d3b4 100644
--- a/src/object.c
+++ b/src/object.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: object.c,v 1.140 2000/08/10 14:56:23 grubba Exp $");
+RCSID("$Id: object.c,v 1.141 2000/08/10 14:57:41 grubba Exp $");
 #include "object.h"
 #include "dynamic_buffer.h"
 #include "interpret.h"
@@ -757,8 +757,8 @@ PMOD_EXPORT void schedule_really_free_object(struct object *o)
 
 
 PMOD_EXPORT void low_object_index_no_free(struct svalue *to,
-			      struct object *o,
-			      INT32 f)
+					  struct object *o,
+					  ptrdiff_t f)
 {
   struct identifier *i;
   struct program *p=o->prog;
@@ -783,7 +783,7 @@ PMOD_EXPORT void low_object_index_no_free(struct svalue *to,
   case IDENTIFIER_FUNCTION:
   case IDENTIFIER_C_FUNCTION:
     to->type=T_FUNCTION;
-    to->subtype=f;
+    to->subtype = DO_NOT_WARN(f);
     to->u.object=o;
     add_ref(o);
     break;
@@ -795,7 +795,7 @@ PMOD_EXPORT void low_object_index_no_free(struct svalue *to,
       if(s->type==T_PROGRAM)
       {
 	to->type=T_FUNCTION;
-	to->subtype=f;
+	to->subtype = DO_NOT_WARN(f);
 	to->u.object=o;
 	add_ref(o);
       }else{
diff --git a/src/object.h b/src/object.h
index c923618b279dbaebe6d9898ca9572e182c1bd91c..a520c400580d8489cf25a27e427de4f14c10b644 100644
--- a/src/object.h
+++ b/src/object.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: object.h,v 1.53 2000/08/10 14:55:53 grubba Exp $
+ * $Id: object.h,v 1.54 2000/08/10 14:58:05 grubba Exp $
  */
 #ifndef OBJECT_H
 #define OBJECT_H
@@ -73,8 +73,8 @@ PMOD_EXPORT void destruct(struct object *o);
 PMOD_EXPORT void destruct_objects_to_destruct(void);
 void schedule_really_free_object(struct object *o);
 PMOD_EXPORT void low_object_index_no_free(struct svalue *to,
-			      struct object *o,
-			      INT32 f);
+					  struct object *o,
+					  ptrdiff_t f);
 PMOD_EXPORT void object_index_no_free2(struct svalue *to,
 			  struct object *o,
 			  struct svalue *index);
diff --git a/src/preprocessor.h b/src/preprocessor.h
index 13b58e2cd1f34ef9ca29ab9aac943ccee20b06b4..1cafa2d265c87c9f24327c5d9d356f9484d43ccd 100644
--- a/src/preprocessor.h
+++ b/src/preprocessor.h
@@ -1,5 +1,5 @@
 /*
- * $Id: preprocessor.h,v 1.30 2000/08/10 08:50:56 grubba Exp $
+ * $Id: preprocessor.h,v 1.31 2000/08/10 15:00:20 grubba Exp $
  *
  * Preprocessor template.
  * Based on cpp.c 1.45
@@ -982,7 +982,7 @@ static ptrdiff_t lower_cpp(struct cpp *this,
 	    for(e=0;e<d->num_parts;e++)
 	    {
 	      WCHAR *a;
-	      INT32 l;
+	      ptrdiff_t l;
 	      
 	      if((d->parts[e].argument & DEF_ARG_MASK) < 0 || 
 		 (d->parts[e].argument & DEF_ARG_MASK) >= arg)