[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;
}