Re: problem with realloc
- From: vippstar@xxxxxxxxx
- Date: Sun, 4 May 2008 04:42:39 -0700 (PDT)
On May 4, 7:51 am, Barry Schwarz <schwa...@xxxxxxxx> wrote:
On Sat, 3 May 2008 09:33:17 -0700 (PDT), vipps...@xxxxxxxxx wrote:Yes you are right, thanks for pointing that out.
On May 3, 7:21 pm, Igal <igal.al...@xxxxxxxxx> wrote:
hay, i'm doing this program. having problem wiht realloc in the
function that reads data structures into array (pointer - bp2), this
happens after reading the second record. when call to realloc.
i can't figure out what's wrong, think it's soming got to do with
freeing bp2.
and something called "corruption of the heap".
book* LoadBookData(unsigned *size)
{
FILE* fp;
int n = 0;
book *bp2 = NULL;
//open book data fileDon't cast calloc. I'm not sure what the results of calloc(0, N) are,
fp=fopen("book.bin","rb");
if (fp == NULL)
{
bp2 = (book*)calloc(0, sizeof(book));
return bp2;
but if they are similar of malloc(), then that pointer is not really
reliable.
You most likely want something like this:
return calloc(0, sizeof book);
book is a type. The parentheses are required. Other than the cast
and parentheses, your code is identical to the OP's. Surely not your
intent.
return calloc(1, sizeof bp2);
`book' is confusing as a type. Maybe book_t or Book. Regardless, my
mistake.
.
- Follow-Ups:
- Re: problem with realloc
- From: Ulrich Eckhardt
- Re: problem with realloc
- References:
- problem with realloc
- From: Igal
- Re: problem with realloc
- From: vippstar
- Re: problem with realloc
- From: Barry Schwarz
- problem with realloc
- Prev by Date: Re: Dev-C++ compiling problem in Vista
- Next by Date: Re: Integer types in embedded systems
- Previous by thread: Re: problem with realloc
- Next by thread: Re: problem with realloc
- Index(es):
Relevant Pages
|