[HB] Remove all references to the old code!
diff --git a/src/harfbuzz-buffer.c b/src/harfbuzz-buffer.c
index 8e93203..133cb80 100644
--- a/src/harfbuzz-buffer.c
+++ b/src/harfbuzz-buffer.c
@@ -59,11 +59,12 @@
 
 /* Internal API */
 
-/*static XXX */ HB_Error
-hb_buffer_ensure( HB_Buffer buffer,
-		   HB_UInt   size )
+/*static XXX */ void
+hb_buffer_ensure (hb_buffer_t  *buffer,
+		  unsigned int  size)
 {
   HB_UInt new_allocated = buffer->allocated;
+  /* XXX err handling */
 
   if (size > new_allocated)
     {
@@ -72,52 +73,39 @@
       while (size > new_allocated)
 	new_allocated += (new_allocated >> 1) + 8;
 
-      if ( buffer->positions )
+      if (buffer->positions)
+	buffer->positions = realloc (buffer->positions, new_allocated * sizeof (buffer->positions[0]));
+
+      buffer->in_string = realloc (buffer->in_string, new_allocated * sizeof (buffer->in_string[0]));
+
+      if (buffer->separate_out)
         {
-	  if ( REALLOC_ARRAY( buffer->positions, new_allocated, HB_PositionRec ) )
-	    return error;
-	}
-
-      if ( REALLOC_ARRAY( buffer->in_string, new_allocated, HB_GlyphItemRec ) )
-	return error;
-
-      if ( buffer->separate_out )
-        {
-	  if ( REALLOC_ARRAY( buffer->alt_string, new_allocated, HB_GlyphItemRec ) )
-	    return error;
-
+	  buffer->alt_string = realloc (buffer->alt_string, new_allocated * sizeof (buffer->alt_string[0]));
 	  buffer->out_string = buffer->alt_string;
 	}
       else
         {
 	  buffer->out_string = buffer->in_string;
 
-	  if ( buffer->alt_string )
+	  if (buffer->alt_string)
 	    {
-	      if ( REALLOC_ARRAY( buffer->alt_string, new_allocated, HB_GlyphItemRec ) )
-		return error;
+	      free (buffer->alt_string);
+	      buffer->alt_string = NULL;
 	    }
 	}
 
       buffer->allocated = new_allocated;
     }
-
-  return HB_Err_Ok;
 }
 
 static HB_Error
-hb_buffer_duplicate_out_buffer( HB_Buffer buffer )
+hb_buffer_duplicate_out_buffer (HB_Buffer buffer)
 {
-  if ( !buffer->alt_string )
-    {
-      HB_Error error;
-
-      if ( ALLOC_ARRAY( buffer->alt_string, buffer->allocated, HB_GlyphItemRec ) )
-	return error;
-    }
+  if (!buffer->alt_string)
+    buffer->alt_string = malloc (buffer->allocated * sizeof (buffer->alt_string[0]));
 
   buffer->out_string = buffer->alt_string;
-  memcpy( buffer->out_string, buffer->in_string, buffer->out_length * sizeof (buffer->out_string[0]) );
+  memcpy (buffer->out_string, buffer->in_string, buffer->out_length * sizeof (buffer->out_string[0]));
   buffer->separate_out = TRUE;
 
   return HB_Err_Ok;
@@ -125,39 +113,36 @@
 
 /* Public API */
 
-HB_Error
-hb_buffer_new( HB_Buffer *pbuffer )
+hb_buffer_t *
+hb_buffer_new (void)
 {
-  HB_Buffer buffer;
-  HB_Error error;
-  
-  if ( ALLOC( buffer, sizeof( HB_BufferRec ) ) )
-    return error;
+  hb_buffer_t *buffer;
+
+  buffer = malloc (sizeof (hb_buffer_t));
+  if (HB_UNLIKELY (!buffer))
+    return NULL;
 
   buffer->allocated = 0;
   buffer->in_string = NULL;
   buffer->alt_string = NULL;
   buffer->positions = NULL;
 
-  hb_buffer_clear( buffer );
+  hb_buffer_clear (buffer);
 
-  *pbuffer = buffer;
-
-  return HB_Err_Ok;
+  return buffer;
 }
 
 void
-hb_buffer_free( HB_Buffer buffer )
+hb_buffer_free (HB_Buffer buffer)
 {
-  FREE( buffer->in_string );
-  FREE( buffer->alt_string );
-  buffer->out_string = NULL;
-  FREE( buffer->positions );
-  FREE( buffer );
+  free (buffer->in_string);
+  free (buffer->alt_string);
+  free (buffer->positions);
+  free (buffer);
 }
 
 void
-hb_buffer_clear( HB_Buffer buffer )
+hb_buffer_clear (HB_Buffer buffer)
 {
   buffer->in_length = 0;
   buffer->out_length = 0;
@@ -168,18 +153,16 @@
   buffer->max_ligID = 0;
 }
 
-HB_Error
-hb_buffer_add_glyph( HB_Buffer buffer,
+void
+hb_buffer_add_glyph (HB_Buffer buffer,
 		      HB_UInt   glyph_index,
 		      HB_UInt   properties,
-		      HB_UInt   cluster )
+		      HB_UInt   cluster)
 {
   HB_Error error;
   HB_GlyphItem glyph;
   
-  error = hb_buffer_ensure( buffer, buffer->in_length + 1 );
-  if ( error )
-    return error;
+  hb_buffer_ensure (buffer, buffer->in_length + 1);
 
   glyph = &buffer->in_string[buffer->in_length];
   glyph->gindex = glyph_index;
@@ -188,16 +171,14 @@
   glyph->component = 0;
   glyph->ligID = 0;
   glyph->gproperty = HB_GLYPH_PROPERTY_UNKNOWN;
-  
-  buffer->in_length++;
 
-  return HB_Err_Ok;
+  buffer->in_length++;
 }
 
 /* HarfBuzz-Internal API */
 
 HB_INTERNAL void
-_hb_buffer_clear_output( HB_Buffer buffer )
+_hb_buffer_clear_output (HB_Buffer buffer)
 {
   buffer->out_length = 0;
   buffer->out_pos = 0;
@@ -206,17 +187,12 @@
 }
 
 HB_INTERNAL HB_Error
-_hb_buffer_clear_positions( HB_Buffer buffer )
+_hb_buffer_clear_positions (HB_Buffer buffer)
 {
   _hb_buffer_clear_output (buffer);
 
-  if ( !buffer->positions )
-    {
-      HB_Error error;
-
-      if ( ALLOC_ARRAY( buffer->positions, buffer->allocated, HB_PositionRec ) )
-	return error;
-    }
+  if (!buffer->positions)
+    buffer->positions = malloc (buffer->allocated * sizeof (buffer->positions[0]));
 
   memset (buffer->positions, 0, sizeof (buffer->positions[0]) * buffer->in_length);
 
@@ -224,13 +200,13 @@
 }
 
 HB_INTERNAL void
-_hb_buffer_swap( HB_Buffer buffer )
+_hb_buffer_swap (HB_Buffer buffer)
 {
   HB_GlyphItem tmp_string;
   int tmp_length;
   int tmp_pos;
 
-  if ( buffer->separate_out )
+  if (buffer->separate_out)
     {
       tmp_string = buffer->in_string;
       buffer->in_string = buffer->out_string;
@@ -267,37 +243,35 @@
    The cluster value for the glyph at position buffer->in_pos is used
    for all replacement glyphs */
 HB_INTERNAL HB_Error
-_hb_buffer_add_output_glyphs( HB_Buffer  buffer,
+_hb_buffer_add_output_glyphs (HB_Buffer  buffer,
 			      HB_UShort  num_in,
 			      HB_UShort  num_out,
 			      HB_UShort *glyph_data,
 			      HB_UShort  component,
-			      HB_UShort  ligID )
+			      HB_UShort  ligID)
 {
   HB_Error  error;
   HB_UShort i;
   HB_UInt properties;
   HB_UInt cluster;
 
-  error = hb_buffer_ensure( buffer, buffer->out_pos + num_out );
-  if ( error )
-    return error;
+  hb_buffer_ensure (buffer, buffer->out_pos + num_out);
 
-  if ( !buffer->separate_out )
+  if (!buffer->separate_out)
     {
-      error = hb_buffer_duplicate_out_buffer( buffer );
-      if ( error )
+      error = hb_buffer_duplicate_out_buffer (buffer);
+      if (error)
 	return error;
     }
 
   properties = buffer->in_string[buffer->in_pos].properties;
   cluster = buffer->in_string[buffer->in_pos].cluster;
-  if ( component == 0xFFFF )
+  if (component == 0xFFFF)
     component = buffer->in_string[buffer->in_pos].component;
-  if ( ligID == 0xFFFF )
+  if (ligID == 0xFFFF)
     ligID = buffer->in_string[buffer->in_pos].ligID;
 
-  for ( i = 0; i < num_out; i++ )
+  for (i = 0; i < num_out; i++)
   {
     HB_GlyphItem item = &buffer->out_string[buffer->out_pos + i];
 
@@ -318,27 +292,25 @@
 }
 
 HB_INTERNAL HB_Error
-_hb_buffer_add_output_glyph( HB_Buffer buffer,
+_hb_buffer_add_output_glyph (HB_Buffer buffer,
 			     HB_UInt   glyph_index,
 			     HB_UShort component,
-			     HB_UShort ligID )
+			     HB_UShort ligID)
 {
   HB_UShort glyph_data =  glyph_index;
 
-  return _hb_buffer_add_output_glyphs ( buffer, 1, 1,
-					&glyph_data, component, ligID );
+  return _hb_buffer_add_output_glyphs (buffer, 1, 1,
+					&glyph_data, component, ligID);
 }
 
 HB_INTERNAL HB_Error
-_hb_buffer_next_glyph ( HB_Buffer buffer )
+_hb_buffer_next_glyph (HB_Buffer buffer)
 {
   HB_Error  error;
 
-  if ( buffer->separate_out )
+  if (buffer->separate_out)
     {
-      error = hb_buffer_ensure( buffer, buffer->out_pos + 1 );
-      if ( error )
-	return error;
+      hb_buffer_ensure (buffer, buffer->out_pos + 1);
 
       buffer->out_string[buffer->out_pos] = buffer->in_string[buffer->in_pos];
     }
@@ -351,10 +323,10 @@
 }
 
 HB_INTERNAL HB_Error
-_hb_buffer_replace_glyph( HB_Buffer buffer,
-			  HB_UInt   glyph_index )
+_hb_buffer_replace_glyph (HB_Buffer buffer,
+			  HB_UInt   glyph_index)
 {
-  if ( !buffer->separate_out )
+  if (!buffer->separate_out)
     {
       buffer->out_string[buffer->out_pos].gindex = glyph_index;
 
@@ -364,14 +336,14 @@
     }
   else
     {
-      return _hb_buffer_add_output_glyph( buffer, glyph_index, 0xFFFF, 0xFFFF );
+      return _hb_buffer_add_output_glyph (buffer, glyph_index, 0xFFFF, 0xFFFF);
     }
 
   return HB_Err_Ok;
 }
 
 HB_INTERNAL HB_UShort
-_hb_buffer_allocate_ligid( HB_Buffer buffer )
+_hb_buffer_allocate_ligid (HB_Buffer buffer)
 {
   return ++buffer->max_ligID;
 }