From 088c1e27c0fc0cdef999cf1f567e4d5eb2cfb2e4 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 20 Sep 2011 14:43:55 -0400 Subject: [PATCH] [util] Fix option parsing Wow, who knew bool is one byte and I was using it as a 4byte int?! C++ auto casts fails you in mysterious ways... --- util/helper-cairo.cc | 2 +- util/options.cc | 3 ++- util/options.hh | 14 +++++++------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/util/helper-cairo.cc b/util/helper-cairo.cc index 3a6d913..abb8c15 100644 --- a/util/helper-cairo.cc +++ b/util/helper-cairo.cc @@ -346,7 +346,7 @@ helper_cairo_line_from_buffer (helper_cairo_line_t *l, if (l->num_clusters) { memset ((void *) l->clusters, 0, l->num_clusters * sizeof (l->clusters[0])); - bool backward = HB_DIRECTION_IS_BACKWARD (hb_buffer_get_direction (buffer)); + hb_bool_t backward = HB_DIRECTION_IS_BACKWARD (hb_buffer_get_direction (buffer)); l->cluster_flags = backward ? CAIRO_TEXT_CLUSTER_FLAG_BACKWARD : (cairo_text_cluster_flags_t) 0; unsigned int cluster = 0; l->clusters[cluster].num_glyphs++; diff --git a/util/options.cc b/util/options.cc index 97be635..4429e85 100644 --- a/util/options.cc +++ b/util/options.cc @@ -48,7 +48,7 @@ fail (hb_bool_t suggest_help, const char *format, ...) } -bool debug = FALSE; +hb_bool_t debug = FALSE; static gchar * shapers_to_string (void) @@ -644,6 +644,7 @@ format_options_t::serialize (hb_buffer_t *buffer, { if (i) g_string_append_c (gs, '|'); + char glyph_name[30]; if (show_glyph_names && !FT_Get_Glyph_Name (ft_face, info->codepoint, glyph_name, sizeof (glyph_name))) g_string_append_printf (gs, "%s", glyph_name); diff --git a/util/options.hh b/util/options.hh index 171fbe6..fbf5f36 100644 --- a/util/options.hh +++ b/util/options.hh @@ -51,7 +51,7 @@ void fail (hb_bool_t suggest_help, const char *format, ...) G_GNUC_NORETURN; -extern bool debug; +extern hb_bool_t debug; struct option_group_t { @@ -115,7 +115,7 @@ struct view_options_t : option_group_t void add_options (option_parser_t *parser); - bool annotate; + hb_bool_t annotate; const char *fore; const char *back; double line_space; @@ -149,8 +149,8 @@ struct shape_options_t : option_group_t hb_buffer_set_language (buffer, hb_language_from_string (language, -1)); } - bool shape (const char *text, int text_len, - hb_font_t *font, hb_buffer_t *buffer) { + hb_bool_t shape (const char *text, int text_len, + hb_font_t *font, hb_buffer_t *buffer) { hb_buffer_reset (buffer); hb_buffer_add_utf8 (buffer, text, text_len, 0, text_len); setup_buffer (buffer); @@ -296,9 +296,9 @@ struct format_options_t : option_group_t GString *gs); protected: - bool show_glyph_names; - bool show_positions; - bool show_clusters; + hb_bool_t show_glyph_names; + hb_bool_t show_positions; + hb_bool_t show_clusters; }; -- 2.7.4