浏览代码

did I loose my c?

Quentin Carbonneaux 9 年之前
父节点
当前提交
c691b4df12
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      util.c

+ 6 - 3
util.c

@@ -109,14 +109,17 @@ blkdel(Blk *b)
 			for (a=0; p->blk[a]!=b; a++)
 				assert(a+1<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) {
 			for (a=0; s->pred[a]!=b; a++)
 				assert(a+1<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));
 		}
 	}
 }