FireBirdLib - Topfield TMS PVR TAP Programming Library
StringDBSave.c
Go to the documentation of this file.
1#include <fcntl.h>
2#include <unistd.h>
3#include <string.h>
4#include "libFireBird.h"
5
6bool StringDBSave(tStringDB *StringDB, char *FileName)
7{
9
10 int f;
11 bool ret;
12 dword l, p;
13 char AbsFileName[FBLIB_DIR_SIZE];
14
15 if(!StringDB || !StringDB->DB || !FileName || !*FileName)
16 {
17 TRACEEXIT();
18 return FALSE;
19 }
20
21 ConvertPathType(FileName, AbsFileName, PF_FullLinuxPath);
22
23 ret = FALSE;
24 if(*AbsFileName)
25 {
26 f = open(AbsFileName, O_WRONLY | O_CREAT | O_TRUNC);
27 if(f >= 0)
28 {
29 //DB Size
30 l = StringDB->DBEnd - StringDB->DB + 1;
31 write(f, &l, sizeof(dword));
32
33 //Current pointer
34 p = StringDB->DBPtr - StringDB->DB;
35 write(f, &p, sizeof(dword));
36
37 write(f, StringDB->DB, l);
38
39 close(f);
40
41 ret = TRUE;
42 }
43 }
44
45 TRACEEXIT();
46 return ret;
47}
void ConvertPathType(const char *Source, char *Dest, tPathFormat DestFormat)
bool StringDBSave(tStringDB *StringDB, char *FileName)
Definition: StringDBSave.c:6
#define FBLIB_DIR_SIZE
Definition: libFireBird.h:1871
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
@ PF_FullLinuxPath
Definition: libFireBird.h:1926
char * DB
Definition: libFireBird.h:2549
char * DBEnd
Definition: libFireBird.h:2551
char * DBPtr
Definition: libFireBird.h:2550