From: "Edwin Young" Newsgroups: comp.os.msdos.djgpp,comp.lang.c Subject: Re: Realloc()ing data of a node from a linked list Date: Wed, 5 Aug 1998 11:36:13 -0700 Organization: Slip.Net (http://www.slip.net) Lines: 27 Message-ID: <6qa904$5jm$1@owl.slip.net> References: <35c89230 DOT 2078137 AT news3 DOT newscene DOT com> NNTP-Posting-Host: 207.171.234.216 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Bruno Barberi Gnecco wrote in message <35c89230 DOT 2078137 AT news3 DOT newscene DOT com>... > if ( realloc ( pointers.current->data, size ) == NULL ) { realloc may *move* the data it reallocates to a new location if there isn't enough space where it is. so you need something like unsigned char *newpointer = realloc ( pointers.current->data, size); if( ! newpointer) { alert(...); } pointers.current->data = newpointer; In general, you shouldn't just use the simpler pointers.current->data = realloc ( pointers.current->data, size); because if realloc returns NULL then you have effectively leaked the original block of memory. If you're just going to exit() if you run out of memory then this may not be a problem. -- Edwin