fixed realloc logic (Ed Swierk)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1879 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									7d510b8c0c
								
							
						
					
					
						commit
						4b6ccfdec9
					
				| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue