summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2007-10-11 07:21:31 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2007-10-11 07:21:31 +0000
commit1abb91a29c047cbad456d937f3c4a2128e21e3b9 (patch)
treef12815b74d87eadfe1dd70c8df37bd2f0d948001
parent49b956b53925ea697711a319195c08351bc14ba0 (diff)
downloadpango-1abb91a29c047cbad456d937f3c4a2128e21e3b9.tar.gz
Move some code around.
2007-10-11 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/harfbuzz-buffer.c: Move some code around. svn path=/trunk/; revision=2436
-rw-r--r--ChangeLog4
-rw-r--r--pango/opentype/harfbuzz-buffer.c91
2 files changed, 52 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index fd126d70..c7a42d38 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
+ * pango/opentype/harfbuzz-buffer.c: Move some code around.
+
+2007-10-11 Behdad Esfahbod <behdad@gnome.org>
+
* pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
buffer->separate_out with the inverted meaning, such that buffer
is initialization is memset(0).
diff --git a/pango/opentype/harfbuzz-buffer.c b/pango/opentype/harfbuzz-buffer.c
index 10c08672..bca5002e 100644
--- a/pango/opentype/harfbuzz-buffer.c
+++ b/pango/opentype/harfbuzz-buffer.c
@@ -103,29 +103,64 @@ hb_buffer_duplicate_out_buffer( HB_Buffer buffer )
}
HB_Error
-hb_buffer_new( HB_Buffer *buffer )
+hb_buffer_new( HB_Buffer *pbuffer )
{
+ HB_Buffer buffer;
HB_Error error;
- if ( ALLOC( *buffer, sizeof( HB_BufferRec ) ) )
+ if ( ALLOC( buffer, sizeof( HB_BufferRec ) ) )
return error;
- (*buffer)->in_length = 0;
- (*buffer)->out_length = 0;
- (*buffer)->allocated = 0;
- (*buffer)->in_pos = 0;
- (*buffer)->out_pos = 0;
+ /* not these ones */
+ buffer->allocated = 0;
+ buffer->in_string = NULL;
+ buffer->alt_string = NULL;
+ buffer->positions = NULL;
- (*buffer)->separate_out = FALSE;
- (*buffer)->in_string = NULL;
- (*buffer)->out_string = NULL;
- (*buffer)->alt_string = NULL;
- (*buffer)->positions = NULL;
- (*buffer)->max_ligID = 0;
+ /* these should be reset when reusing buffer */
+ buffer->in_length = 0;
+ buffer->out_length = 0;
+ buffer->in_pos = 0;
+ buffer->out_pos = 0;
+ buffer->separate_out = FALSE;
+ buffer->out_string = buffer->in_string;
+ buffer->max_ligID = 0;
+
+ *pbuffer = buffer;
return HB_Err_Ok;
}
+void
+hb_buffer_free( HB_Buffer buffer )
+{
+ FREE( buffer->in_string );
+ FREE( buffer->alt_string );
+ buffer->out_string = NULL;
+ FREE( buffer->positions );
+ FREE( buffer );
+}
+
+void
+hb_buffer_clear( HB_Buffer buffer )
+{
+ buffer->in_length = 0;
+ buffer->out_length = 0;
+ buffer->in_pos = 0;
+ buffer->out_pos = 0;
+ buffer->out_string = buffer->in_string;
+ buffer->separate_out = FALSE;
+}
+
+void
+hb_buffer_clear_output( HB_Buffer buffer )
+{
+ buffer->out_length = 0;
+ buffer->out_pos = 0;
+ buffer->out_string = buffer->in_string;
+ buffer->separate_out = FALSE;
+}
+
HB_Error
hb_buffer_clear_positions( HB_Buffer buffer )
{
@@ -143,15 +178,6 @@ hb_buffer_clear_positions( HB_Buffer buffer )
}
void
-hb_buffer_clear_output( HB_Buffer buffer )
-{
- buffer->out_length = 0;
- buffer->out_pos = 0;
- buffer->out_string = buffer->in_string;
- buffer->separate_out = FALSE;
-}
-
-void
hb_buffer_swap( HB_Buffer buffer )
{
HB_GlyphItem tmp_string;
@@ -175,27 +201,6 @@ hb_buffer_swap( HB_Buffer buffer )
buffer->out_pos = tmp_pos;
}
-void
-hb_buffer_free( HB_Buffer buffer )
-{
- FREE( buffer->in_string );
- FREE( buffer->alt_string );
- buffer->out_string = NULL;
- FREE( buffer->positions );
- FREE( buffer );
-}
-
-void
-hb_buffer_clear( HB_Buffer buffer )
-{
- buffer->in_length = 0;
- buffer->out_length = 0;
- buffer->in_pos = 0;
- buffer->out_pos = 0;
- buffer->out_string = buffer->in_string;
- buffer->separate_out = FALSE;
-}
-
HB_Error
hb_buffer_add_glyph( HB_Buffer buffer,
FT_UInt glyph_index,