#include <string.h>

#include "Desk.DeskMem.h"


void	Desk_DeskMem_BufferMidExtend( Desk_deskmem_buffer* buffer, int at, int by)
	{
	int	oldsize = Desk_DeskMem_BufferGetDataSize( buffer);
	
	if ( by<0)	{
		memmove( 
			Desk_DeskMem_BufferGetString( buffer) + at + by, 
			Desk_DeskMem_BufferGetString( buffer) + at, 
			oldsize - at
			);
		}
	
	Desk_DeskMem_BufferEnsure( buffer, Desk_DeskMem_BufferGetDataSize( buffer) + by);
	
	if ( by>0)	{
		memmove( 
			Desk_DeskMem_BufferGetString( buffer) + at + by, 
			Desk_DeskMem_BufferGetString( buffer) + at, 
			oldsize - at
			);
		}
	}
