diff options
author | aiju <aiju@phicode.de> | 2011-06-25 16:17:20 +0200 |
---|---|---|
committer | aiju <aiju@phicode.de> | 2011-06-25 16:17:20 +0200 |
commit | 0b22dfd1f69985aabc5af37dca8a217a1e6e54e9 (patch) | |
tree | 577216074a5edb2402525c2d219ad8a96af8f9d7 /sys/src/cmd/5e/seg.c | |
parent | b4ae96bcb95e76293a81241bf6edebf27cab7e35 (diff) |
5e: added note support
added wstat / fwstat / alarm
Diffstat (limited to 'sys/src/cmd/5e/seg.c')
-rw-r--r-- | sys/src/cmd/5e/seg.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/src/cmd/5e/seg.c b/sys/src/cmd/5e/seg.c index 1cde88241..66613baff 100644 --- a/sys/src/cmd/5e/seg.c +++ b/sys/src/cmd/5e/seg.c @@ -94,6 +94,7 @@ copyifnec(u32int addr, int len, int *copied) if(len < 0) len = strlen(targ) + 1; ret = emalloc(len); + setmalloctag(ret, getcallerpc(&addr)); memcpy(ret, targ, len); segunlock(seg); *copied = 1; @@ -103,7 +104,7 @@ copyifnec(u32int addr, int len, int *copied) void * bufifnec(u32int addr, int len, int *buffered) { - void *targ; + void *targ, *v; Segment *seg; targ = vaddr(addr, len, &seg); @@ -113,7 +114,9 @@ bufifnec(u32int addr, int len, int *buffered) } segunlock(seg); *buffered = 1; - return emalloc(len); + v = emalloc(len); + setmalloctag(v, getcallerpc(&addr)); + return v; } void @@ -122,8 +125,10 @@ copyback(u32int addr, int len, void *data) void *targ; Segment *seg; - if(len <= 0) + if(len <= 0) { + free(data); return; + } targ = vaddr(addr, len, &seg); memmove(targ, data, len); segunlock(seg); |