bio: Brdstr, Bopen: set malloc tag to the caller

This commit is contained in:
ftrvxmtrx 2014-05-02 04:27:29 +02:00
parent beb665051b
commit f7f3e4780a
2 changed files with 9 additions and 3 deletions

View file

@ -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;

View file

@ -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;
} }