diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-04-07 14:49:42 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-04-07 14:49:42 +0200 |
commit | cf7f25fe5049ea5b6dc9a5c4ae8962264d5e801d (patch) | |
tree | 9512cc5df3c0400ffa1568cb93a6a7ff43714b91 /font.c | |
parent | b6b66acfc7a0597f213fa01d8e6930f43c201b36 (diff) | |
download | vdr-cf7f25fe5049ea5b6dc9a5c4ae8962264d5e801d.tar.gz vdr-cf7f25fe5049ea5b6dc9a5c4ae8962264d5e801d.tar.bz2 |
Fixed an endless loop in cTextWrapper::Set() in case the given Width is smaller than one character
Diffstat (limited to 'font.c')
-rw-r--r-- | font.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -6,7 +6,7 @@ * * BiDi support by Osama Alrawab <alrawab@hotmail.com> @2008 Tripoli-Libya. * - * $Id: font.c 2.13 2012/06/02 13:38:28 kls Exp $ + * $Id: font.c 3.1 2013/04/07 14:42:13 kls Exp $ */ #include "font.h" @@ -592,7 +592,7 @@ void cTextWrapper::Set(const char *Text, const cFont *Font, int Width) p = Blank; continue; } - else { + else if (w > 0) { // there has to be at least one character before the newline // Here's the ugly part, where we don't have any whitespace to // punch in a newline, so we need to make room for it: if (Delim) @@ -608,8 +608,7 @@ void cTextWrapper::Set(const char *Text, const cFont *Font, int Width) continue; } } - else - w += cw; + w += cw; if (strchr("-.,:;!?_", *p)) { Delim = p; Blank = NULL; |