fixed realloc logic (Ed Swierk)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1879 c046a42c-6fe2-441c-8c8c-71466251a162
master
bellard 2006-05-01 10:59:02 +00:00
parent 7d510b8c0c
commit 4b6ccfdec9
1 changed files with 4 additions and 3 deletions

View File

@ -146,18 +146,19 @@ m_inc(m, size)
struct mbuf *m;
int size;
{
int datasize;
/* some compiles throw up on gotos. This one we can fake. */
if(m->m_size>size) return;
if (m->m_flags & M_EXT) {
/* datasize = m->m_data - m->m_ext; */
datasize = m->m_data - m->m_ext;
m->m_ext = (char *)realloc(m->m_ext,size);
/* if (m->m_ext == NULL)
* return (struct mbuf *)NULL;
*/
/* m->m_data = m->m_ext + datasize; */
m->m_data = m->m_ext + datasize;
} else {
int datasize;
char *dat;
datasize = m->m_data - m->m_dat;
dat = (char *)malloc(size);