17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
maybe = no;
if (kiosend(e.std, ptr, null) == kiocond_ok) {
/* great, continue */
} else {
return kbad_io;
}
kmptr object = kmheapao(sizeof (struct object) * 16);
if (object.kind == kmkind_fail) return kbad_mem;
/* struct object* block = kmheapa(sizeof (struct object) * 4); */
struct object* block = object.ref;
block[5].a = 5;
if (kmfree(object) != kmcond_ok) return kbad_mem;
return kbad_ok;
}
|
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
maybe = no;
if (kiosend(e.std, ptr, null) == kiocond_ok) {
/* great, continue */
} else {
return kbad_io;
}
void* region = kmheapa(2048);
if (region == null) return kbad_mem;
kmzero(region,2048);
if (kmheapf(region) >= kmcond_fail) return kbad_mem;
return kbad_ok;
}
|