Browse Source

did I loose my c?

Quentin Carbonneaux 9 years ago
parent
commit
c691b4df12
1 changed files with 6 additions and 3 deletions
  1. 6 3
      util.c

+ 6 - 3
util.c

@@ -109,14 +109,17 @@ blkdel(Blk *b)
 			for (a=0; p->blk[a]!=b; a++)
 			for (a=0; p->blk[a]!=b; a++)
 				assert(a+1<p->narg);
 				assert(a+1<p->narg);
 			p->narg--;
 			p->narg--;
-			memcpy(&p->blk[a], &p->blk[a+1], p->narg-a);
-			memcpy(&p->arg[a], &p->arg[a+1], p->narg-a);
+			memcpy(&p->blk[a], &p->blk[a+1],
+				sizeof p->blk[0] * (p->narg-a));
+			memcpy(&p->arg[a], &p->arg[a+1],
+				sizeof p->arg[0] * (p->narg-a));
 		}
 		}
 		if (s->npred != 0) {
 		if (s->npred != 0) {
 			for (a=0; s->pred[a]!=b; a++)
 			for (a=0; s->pred[a]!=b; a++)
 				assert(a+1<s->npred);
 				assert(a+1<s->npred);
 			s->npred--;
 			s->npred--;
-			memcpy(&s->pred[a], &s->pred[a+1], s->npred-a);
+			memcpy(&s->pred[a], &s->pred[a+1],
+				sizeof s->pred[0] * (s->npred-a));
 		}
 		}
 	}
 	}
 }
 }