diff options
Diffstat (limited to 'mbuf.c')
-rw-r--r-- | mbuf.c | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -147,25 +147,22 @@ void m_inc(struct mbuf *m, int size) { int datasize; - /* some compiles throw up on gotos. This one we can fake. */ - if (m->m_size > size) + /* some compilers 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; m->m_ext = g_realloc(m->m_ext, size + datasize); - m->m_data = m->m_ext + datasize; } else { - char *dat; datasize = m->m_data - m->m_dat; - dat = g_malloc(size + datasize); - memcpy(dat, m->m_dat, m->m_size); - - m->m_ext = dat; - m->m_data = m->m_ext + datasize; + m->m_ext = g_malloc(size + datasize); + memcpy(m->m_ext, m->m_dat, m->m_size); m->m_flags |= M_EXT; } + m->m_data = m->m_ext + datasize; m->m_size = size + datasize; } |