FireBirdLib - Topfield TMS PVR TAP Programming Library
StringDBLoadFromFile.c
Go to the documentation of this file.
1#include <stdlib.h>
2#include <string.h>
3#include "libFireBird.h"
4
5bool StringDBLoadFromFile(tStringDB *StringDB, TYPE_File *f)
6{
8
9 dword l, p;
10
11 if(!StringDB || !f)
12 {
13 TRACEEXIT();
14 return FALSE;
15 }
16
17 TAP_MemFree(StringDB->DB);
18
19 //DB Size
20 TAP_Hdd_Fread(&l, sizeof(dword), 1, f);
21 StringDB->DB = TAP_MemAlloc(l);
22
23 if(!StringDB->DB)
24 {
25 StringDB->DBSize = 0;
26 TAP_Hdd_Fclose(f);
27
28 TRACEEXIT();
29 return FALSE;
30 }
31 StringDB->DBSize = l;
32 StringDB->DBEnd = l + StringDB->DB - 1;
33
34 //Current pointer
35 TAP_Hdd_Fread(&p, sizeof(dword), 1, f);
36 StringDB->DBPtr = p + StringDB->DB;
37
38 TAP_Hdd_Fread(StringDB->DB, 1, l, f);
39
40 TRACEEXIT();
41 return TRUE;
42}
bool StringDBLoadFromFile(tStringDB *StringDB, TYPE_File *f)
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
dword DBSize
Definition: libFireBird.h:2548
char * DB
Definition: libFireBird.h:2549
char * DBEnd
Definition: libFireBird.h:2551
char * DBPtr
Definition: libFireBird.h:2550