[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Mon Jun 10 12:09:04 PDT 2013
src/hb-common.cc | 2 +-
src/hb-coretext.cc | 3 ---
src/hb-font-private.hh | 17 +++++++++++------
src/hb-private.hh | 2 +-
src/hb-shape.cc | 2 +-
test/api/test-font.c | 1 -
util/ansi-print.cc | 1 +
util/hb-ot-shape-closure.cc | 5 +++--
util/hb-shape.cc | 5 ++++-
util/shape-consumer.hh | 6 ++++--
util/view-cairo.hh | 6 ++++--
11 files changed, 30 insertions(+), 20 deletions(-)
New commits:
commit 7235f33f9e5e031622a00a84f4b2e98f16803579
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Jun 10 14:39:51 2013 -0400
Fix misc warnings reported by cppcheck
https://bugs.freedesktop.org/show_bug.cgi?id=65544
diff --git a/src/hb-common.cc b/src/hb-common.cc
index 540d252..7c6d262 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -243,8 +243,8 @@ hb_language_from_string (const char *str, int len)
if (!str || !len || !*str)
return HB_LANGUAGE_INVALID;
- char strbuf[32];
if (len >= 0) {
+ char strbuf[64];
len = MIN (len, (int) sizeof (strbuf) - 1);
str = (char *) memcpy (strbuf, str, len);
strbuf[len] = '\0';
diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc
index 8f94795..66db97b 100644
--- a/src/hb-coretext.cc
+++ b/src/hb-coretext.cc
@@ -178,7 +178,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
unsigned int num_features)
{
hb_face_t *face = font->face;
- hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face);
hb_coretext_shaper_font_data_t *font_data = HB_SHAPER_DATA_GET (font);
#define FAIL(...) \
@@ -232,7 +231,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
CFArrayRef glyph_runs = CTLineGetGlyphRuns (line);
unsigned int num_runs = CFArrayGetCount (glyph_runs);
- bool success = true;
buffer->len = 0;
const CFRange range_all = CFRangeMake (0, 0);
@@ -287,7 +285,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
double advance = (j + 1 < num_glyphs ? positions[j + 1].x : positions[0].x + run_width) - positions[j].x;
hb_glyph_info_t *info = &buffer->info[buffer->len];
- hb_glyph_position_t *pos = &buffer->pos[buffer->len];
info->codepoint = glyphs[j];
info->cluster = string_indices[j];
diff --git a/src/hb-font-private.hh b/src/hb-font-private.hh
index 48fbb0e..3a42f07 100644
--- a/src/hb-font-private.hh
+++ b/src/hb-font-private.hh
@@ -336,16 +336,21 @@ struct hb_font_t {
hb_direction_t direction,
hb_position_t *x, hb_position_t *y)
{
- if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) {
- hb_bool_t ret = get_glyph_h_origin (glyph, x, y);
- if (!ret && (ret = get_glyph_v_origin (glyph, x, y))) {
+ if (likely (HB_DIRECTION_IS_HORIZONTAL (direction)))
+ {
+ if (!get_glyph_h_origin (glyph, x, y) &&
+ get_glyph_v_origin (glyph, x, y))
+ {
hb_position_t dx, dy;
guess_v_origin_minus_h_origin (glyph, &dx, &dy);
*x -= dx; *y -= dy;
}
- } else {
- hb_bool_t ret = get_glyph_v_origin (glyph, x, y);
- if (!ret && (ret = get_glyph_h_origin (glyph, x, y))) {
+ }
+ else
+ {
+ if (!get_glyph_v_origin (glyph, x, y) &&
+ get_glyph_h_origin (glyph, x, y))
+ {
hb_position_t dx, dy;
guess_v_origin_minus_h_origin (glyph, &dx, &dy);
*x += dx; *y += dy;
diff --git a/src/hb-private.hh b/src/hb-private.hh
index 8121640..13465c6 100644
--- a/src/hb-private.hh
+++ b/src/hb-private.hh
@@ -595,7 +595,7 @@ _hb_debug_msg_va (const char *what,
#define ULBAR "\342\225\257" /* U+256F BOX DRAWINGS LIGHT ARC UP AND LEFT */
#define LBAR "\342\225\264" /* U+2574 BOX DRAWINGS LIGHT LEFT */
static const char bars[] = VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR;
- fprintf (stderr, "%2d %s" VRBAR "%s",
+ fprintf (stderr, "%2u %s" VRBAR "%s",
level,
bars + sizeof (bars) - 1 - MIN ((unsigned int) sizeof (bars), (unsigned int) (sizeof (VBAR) - 1) * level),
level_dir ? (level_dir > 0 ? DLBAR : ULBAR) : LBAR);
diff --git a/src/hb-shape.cc b/src/hb-shape.cc
index 67ef7e6..c28fdfa 100644
--- a/src/hb-shape.cc
+++ b/src/hb-shape.cc
@@ -197,7 +197,7 @@ hb_feature_to_string (hb_feature_t *feature,
assert (len < ARRAY_LENGTH (s));
len = MIN (len, size - 1);
memcpy (buf, s, len);
- s[len] = '\0';
+ buf[len] = '\0';
}
diff --git a/test/api/test-font.c b/test/api/test-font.c
index 40540c4..6b6a503 100644
--- a/test/api/test-font.c
+++ b/test/api/test-font.c
@@ -136,7 +136,6 @@ _test_font_nil_funcs (hb_font_t *font)
g_assert (!hb_font_get_glyph (font, 17, 2, &glyph));
g_assert_cmpint (glyph, ==, 0);
- x = 13;
x = hb_font_get_glyph_h_kerning (font, 17, 19);
g_assert_cmpint (x, ==, 0);
}
diff --git a/util/ansi-print.cc b/util/ansi-print.cc
index e166c91..0fc3719 100644
--- a/util/ansi-print.cc
+++ b/util/ansi-print.cc
@@ -157,6 +157,7 @@ struct biimage_t
biimage_t (unsigned int width, unsigned int height) :
width (width),
height (height),
+ bg (0), fg (0), unicolor (true),
data ((uint8_t *) malloc (sizeof (data[0]) * width * height)) {}
~biimage_t (void)
{ free (data); }
diff --git a/util/hb-ot-shape-closure.cc b/util/hb-ot-shape-closure.cc
index fd9756b..7c81a7d 100644
--- a/util/hb-ot-shape-closure.cc
+++ b/util/hb-ot-shape-closure.cc
@@ -79,8 +79,9 @@ struct shape_closure_consumer_t : option_group_t
first = false;
else
printf (" ");
- char glyph_name[32];
- if (show_glyph_names) {
+ if (show_glyph_names)
+ {
+ char glyph_name[64];
hb_font_get_glyph_name (font, i, glyph_name, sizeof (glyph_name));
printf ("%s", glyph_name);
} else
diff --git a/util/hb-shape.cc b/util/hb-shape.cc
index 852f9cf..b62f744 100644
--- a/util/hb-shape.cc
+++ b/util/hb-shape.cc
@@ -33,7 +33,10 @@ struct output_buffer_t
output_buffer_t (option_parser_t *parser)
: options (parser,
g_strjoinv ("/", (gchar**) hb_buffer_serialize_list_formats ())),
- format (parser) {}
+ format (parser),
+ gs (NULL),
+ line_no (0),
+ font (NULL) {}
void init (const font_options_t *font_opts)
{
diff --git a/util/shape-consumer.hh b/util/shape-consumer.hh
index 8fd7ec3..422c8cd 100644
--- a/util/shape-consumer.hh
+++ b/util/shape-consumer.hh
@@ -34,8 +34,10 @@ template <typename output_t>
struct shape_consumer_t
{
shape_consumer_t (option_parser_t *parser)
- : shaper (parser),
- output (parser) {}
+ : failed (false),
+ shaper (parser),
+ output (parser),
+ font (NULL) {}
void init (const font_options_t *font_opts)
{
diff --git a/util/view-cairo.hh b/util/view-cairo.hh
index f273464..8fe74fa 100644
--- a/util/view-cairo.hh
+++ b/util/view-cairo.hh
@@ -31,10 +31,12 @@
#define VIEW_CAIRO_HH
-struct view_cairo_t {
+struct view_cairo_t
+{
view_cairo_t (option_parser_t *parser)
: output_options (parser, helper_cairo_supported_formats),
- view_options (parser) {}
+ view_options (parser),
+ lines (0), scale (1.0) {}
~view_cairo_t (void) {
if (debug)
cairo_debug_reset_static_data ();
More information about the HarfBuzz
mailing list