提交 ee3f75f2 创建 作者: rtm's avatar rtm

simplify growproc

上级 98754d68
...@@ -49,16 +49,15 @@ allocproc(void) ...@@ -49,16 +49,15 @@ allocproc(void)
int int
growproc(int n) growproc(int n)
{ {
char *newmem, *oldmem; char *newmem;
newmem = kalloc(cp->sz + n); newmem = kalloc(cp->sz + n);
if(newmem == 0) if(newmem == 0)
return -1; return -1;
memmove(newmem, cp->mem, cp->sz); memmove(newmem, cp->mem, cp->sz);
memset(newmem + cp->sz, 0, n); memset(newmem + cp->sz, 0, n);
oldmem = cp->mem; kfree(cp->mem, cp->sz);
cp->mem = newmem; cp->mem = newmem;
kfree(oldmem, cp->sz);
cp->sz += n; cp->sz += n;
setupsegs(cp); setupsegs(cp);
return cp->sz - n; return cp->sz - n;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论