FireBirdLib - Topfield TMS PVR TAP Programming Library
StrMkUTF8.c
Go to the documentation of this file.
1#include <string.h>
2#include <stdlib.h>
3#include "libFireBird.h"
4
5bool StrMkUTF8(byte *SourceString, size_t SourceSize, byte DefaultISO8859CharSet)
6{
8
9 char *_utf8string;
10 bool result;
11
12 if(!SourceString || !SourceSize)
13 {
14 TRACEEXIT();
15 return FALSE;
16 }
17
18 _utf8string = TAP_MemAlloc(SourceSize << 2);
19
20 if(!_utf8string)
21 {
22 TRACEEXIT();
23 return FALSE;
24 }
25
26 memset(_utf8string, 0, SourceSize << 2);
27 StrToUTF8(SourceString, _utf8string, DefaultISO8859CharSet);
28
29 if (strlen(_utf8string) < SourceSize)
30 {
31 strcpy(SourceString, _utf8string);
32 result = TRUE;
33 }
34 else result = FALSE;
35
36 TAP_MemFree(_utf8string);
37
38 TRACEEXIT();
39 return result;
40}
bool StrMkUTF8(byte *SourceString, size_t SourceSize, byte DefaultISO8859CharSet)
Definition: StrMkUTF8.c:5
#define TRACEEXIT()
Definition: libFireBird.h:1244
bool StrToUTF8(const byte *SourceString, byte *DestString, byte DefaultISO8859CharSet)
Definition: StrToUTF8.c:146
#define TRACEENTER()
Definition: libFireBird.h:1243