bio: Brdstr, Bopen: set malloc tag to the caller
This commit is contained in:
parent
beb665051b
commit
f7f3e4780a
2 changed files with 9 additions and 3 deletions
|
@ -114,6 +114,7 @@ Bopen(char *name, int mode)
|
||||||
if(f < 0)
|
if(f < 0)
|
||||||
return 0;
|
return 0;
|
||||||
bp = malloc(sizeof(Biobuf));
|
bp = malloc(sizeof(Biobuf));
|
||||||
|
setmalloctag(bp, getcallerpc(&name));
|
||||||
Binits(bp, f, mode, bp->b, sizeof(bp->b));
|
Binits(bp, f, mode, bp->b, sizeof(bp->b));
|
||||||
bp->flag = Bmagic; /* mark bp open & malloced */
|
bp->flag = Bmagic; /* mark bp open & malloced */
|
||||||
return bp;
|
return bp;
|
||||||
|
|
|
@ -51,7 +51,8 @@ Brdstr(Biobufhdr *bp, int delim, int nulldelim)
|
||||||
if(ep) {
|
if(ep) {
|
||||||
j = (ep - ip) + 1;
|
j = (ep - ip) + 1;
|
||||||
bp->icount += j;
|
bp->icount += j;
|
||||||
return badd(nil, &bp->rdline, ip, j, delim, nulldelim);
|
p = badd(nil, &bp->rdline, ip, j, delim, nulldelim);
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -72,7 +73,7 @@ Brdstr(Biobufhdr *bp, int delim, int nulldelim)
|
||||||
if(j < 0)
|
if(j < 0)
|
||||||
Berror(bp, "read error: %r");
|
Berror(bp, "read error: %r");
|
||||||
if(j <= 0 && i == 0)
|
if(j <= 0 && i == 0)
|
||||||
return p;
|
goto out;
|
||||||
if(j <= 0 && i > 0){
|
if(j <= 0 && i > 0){
|
||||||
/*
|
/*
|
||||||
* end of file but no delim. pretend we got a delim
|
* end of file but no delim. pretend we got a delim
|
||||||
|
@ -100,7 +101,8 @@ Brdstr(Biobufhdr *bp, int delim, int nulldelim)
|
||||||
}
|
}
|
||||||
j = (ep - (char*)bp->bbuf) + 1;
|
j = (ep - (char*)bp->bbuf) + 1;
|
||||||
bp->icount = j - i;
|
bp->icount = j - i;
|
||||||
return badd(p, &bp->rdline, ip, j, delim, nulldelim);
|
p = badd(p, &bp->rdline, ip, j, delim, nulldelim);
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
ip += j;
|
ip += j;
|
||||||
}
|
}
|
||||||
|
@ -113,4 +115,7 @@ Brdstr(Biobufhdr *bp, int delim, int nulldelim)
|
||||||
bp->icount = 0;
|
bp->icount = 0;
|
||||||
bp->gbuf = bp->ebuf;
|
bp->gbuf = bp->ebuf;
|
||||||
}
|
}
|
||||||
|
out:
|
||||||
|
setmalloctag(p, getcallerpc(&bp));
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue