Fixed a signed character used as index in cBase64Encoder::NextLine()

This commit is contained in:
Klaus Schmidinger 2008-03-05 17:25:44 +01:00
parent 620eb8150b
commit f040eed489
3 changed files with 5 additions and 2 deletions

View File

@ -2104,6 +2104,7 @@ Tobias Grimm <tobias.grimm@e-tobi.net>
for suggesting that the 'plugins' target in the Makefile should return an error exit
code if one of the plugins failed to compile
for making the non-breaking space symbol be rendered as a blank
for fixing a signed character used as index in cBase64Encoder::NextLine()
Helge Lenz <h.lenz@gmx.de>
for reporting a bug in setting the 'Delta' parameter when calling the shutdown

View File

@ -5703,3 +5703,5 @@ Video Disk Recorder Revision History
SI data on the Czech/Slovak channels, which actually do follow the standard).
Users who want to set the default character set to something different can do wo
through "export VDR_CHARSET_OVERRIDE=ISO-8859-9".
- Fixed a signed character used as index in cBase64Encoder::NextLine() (thanks
to Tobias Grimm).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: tools.c 1.144 2008/02/29 13:16:39 kls Exp $
* $Id: tools.c 1.145 2008/03/05 17:23:47 kls Exp $
*/
#include "tools.h"
@ -1102,7 +1102,7 @@ const char *cBase64Encoder::NextLine(void)
int r = 0;
while (i < length && r < maxResult - 3) {
result[r++] = b64[(data[i] >> 2) & 0x3F];
char c = (data[i] << 4) & 0x3F;
uchar c = (data[i] << 4) & 0x3F;
if (++i < length)
c |= (data[i] >> 4) & 0x0F;
result[r++] = b64[c];