diff --git a/src/builtin.cmod b/src/builtin.cmod
index ac184153db5a162e5e9e41b02944adcf8e5a4181..fda59fb7acf1f8e010d26464248563a6e6e16b7c 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -199,7 +199,7 @@ PIKEFUN int get_weak_flag(mixed m)
   efun;
   optflags OPT_EXTERNAL_DEPEND;
 {
-  int flag;
+  int flag = 0;
   switch (m->type) {
     case T_ARRAY:
       flag = !!(m->u.array->flags & ARRAY_WEAK_FLAG);
diff --git a/src/mapping.c b/src/mapping.c
index d83abceb79910ea11a0e9688a8aa25471100950f..7d3368664b7461df0a1315fbbc0f49f1783685c2 100644
--- a/src/mapping.c
+++ b/src/mapping.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: mapping.c,v 1.109 2000/10/09 23:58:49 hubbe Exp $");
+RCSID("$Id: mapping.c,v 1.110 2000/11/01 23:30:36 grubba Exp $");
 #include "main.h"
 #include "object.h"
 #include "mapping.h"
@@ -1377,8 +1377,8 @@ PMOD_EXPORT struct mapping *merge_mapping_array_ordered(struct mapping *a,
 					    struct array *b, INT32 op)
 {
   struct array *ai, *av;
-  struct array *ci, *cv;
-  INT32 *zipper;
+  struct array *ci = NULL, *cv = NULL;
+  INT32 *zipper = NULL;
   struct mapping *m;
 
   ai=mapping_indices(a);
diff --git a/src/object.c b/src/object.c
index 35497f30b22dcfd9bc6493e86f4dd9fd23c0c20e..812a45d509a85ebb94376c49e8868245b4a6dd48 100644
--- a/src/object.c
+++ b/src/object.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: object.c,v 1.151 2000/10/25 21:55:32 hubbe Exp $");
+RCSID("$Id: object.c,v 1.152 2000/11/01 23:31:28 grubba Exp $");
 #include "object.h"
 #include "dynamic_buffer.h"
 #include "interpret.h"
@@ -842,7 +842,7 @@ PMOD_EXPORT void object_index_no_free2(struct svalue *to,
 			  struct svalue *index)
 {
   struct program *p;
-  int f;
+  int f = -1;
 
   if(!o || !(p=o->prog))
   {
@@ -944,7 +944,7 @@ PMOD_EXPORT void object_set_index2(struct object *o,
 		      struct svalue *from)
 {
   struct program *p;
-  int f;
+  int f = -1;
 
   if(!o || !(p=o->prog))
   {
diff --git a/src/opcodes.c b/src/opcodes.c
index 80e76206e3e6186d79649293105499082f89e090..e73078403bc196de460f2afb6498ab53ea2c4a2f 100644
--- a/src/opcodes.c
+++ b/src/opcodes.c
@@ -26,7 +26,7 @@
 #include "bignum.h"
 #include "operators.h"
 
-RCSID("$Id: opcodes.c,v 1.90 2000/08/17 19:06:30 grubba Exp $");
+RCSID("$Id: opcodes.c,v 1.91 2000/11/01 23:32:32 grubba Exp $");
 
 void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind)
 {
@@ -1575,7 +1575,7 @@ void o_sscanf(INT32 args)
 #ifdef PIKE_DEBUG
   extern int t_flag;
 #endif
-  INT32 e,i;
+  INT32 e, i=0;
   int x;
   ptrdiff_t matched_chars;
   struct svalue *save_sp=sp;
diff --git a/src/program.c b/src/program.c
index e1aae81dee19d6250526cbc3f50594a5020fc47b..83681d3aef33b5ee6e66e4e13b26a19cc131a0ef 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.278 2000/10/25 21:55:33 hubbe Exp $");
+RCSID("$Id: program.c,v 1.279 2000/11/01 23:34:30 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -4445,7 +4445,7 @@ PMOD_EXPORT void *parent_storage(int depth)
     }
   }
 
-  if(Pike_fp->fun == -1)
+  if(!~Pike_fp->fun)
     error("Cannot access parent storage!\n");
 
   loc.parent_identifier=Pike_fp->fun;