diff options
| author | [email protected] <[email protected]> | 2011-01-23 13:54:59 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2011-01-23 13:54:59 +0000 |
| commit | 1f46f9da43ae758db6f246fe5e02aa3c18262cbe (patch) | |
| tree | 98f3aedad07f58d15d90e313775f4c65e12ed200 /components/rtgui | |
| parent | 0ce73d5b17f7b2b7c91ddb8b7c7be9a46ee62d61 (diff) | |
fix length issue found by yermin.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1256 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui')
| -rw-r--r-- | components/rtgui/common/font_bmp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/components/rtgui/common/font_bmp.c b/components/rtgui/common/font_bmp.c index 96b4609b9a..497e5b0a09 100644 --- a/components/rtgui/common/font_bmp.c +++ b/components/rtgui/common/font_bmp.c @@ -77,7 +77,8 @@ void rtgui_bitmap_font_draw_char(struct rtgui_font_bitmap* font, struct rtgui_dc } } -static void rtgui_bitmap_font_draw_text(struct rtgui_font* font, struct rtgui_dc* dc, const char* text, rt_ubase_t len, struct rtgui_rect* rect) +static void rtgui_bitmap_font_draw_text(struct rtgui_font* font, struct rtgui_dc* dc, + const char* text, rt_ubase_t len, struct rtgui_rect* rect) { rt_uint32_t length; struct rtgui_font_bitmap* bmp_font = (struct rtgui_font_bitmap*)(font->data); @@ -122,6 +123,7 @@ static void rtgui_bitmap_font_draw_text(struct rtgui_font* font, struct rtgui_dc #else while ((rect->x1 < rect->x2) && len) { + length = 0; while (((rt_uint8_t)*(text + length) < 0x80) && *(text + length)) length ++; if (length > 0) { |
