FireBirdLib - Topfield TMS PVR TAP Programming Library
StringDBDel.c
Go to the documentation of this file.
1#include <string.h>
2#include "libFireBird.h"
3
4bool StringDBDel(tStringDB *StringDB)
5{
7
8 dword l;
9 char *s, *d;
10
11 if(!StringDB || !StringDB->DBPtr)
12 {
13 TRACEEXIT();
14 return FALSE;
15 }
16
17 if(StringDB->DBPtr >= StringDB->DBEnd)
18 {
19 TRACEEXIT();
20 return TRUE;
21 }
22
23 l = strlen(StringDB->DBPtr) + 1;
24 d = StringDB->DBPtr;
25 s = StringDBGet(StringDB, StringDBNext(StringDB));
26 StringDB->DBPtr = d;
27
28 while(s < StringDB->DBEnd)
29 {
30 if(d < StringDB->DBEnd)
31 *s = *d;
32 else
33 *s = '\0';
34
35 s++;
36 d++;
37 }
38
39 StringDB->DBEnd = StringDB->DBEnd - l;
40
41 TRACEEXIT();
42 return TRUE;
43}
bool StringDBDel(tStringDB *StringDB)
Definition: StringDBDel.c:4
dword StringDBNext(tStringDB *StringDB)
Definition: StringDBNext.c:3
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
char * StringDBGet(tStringDB *StringDB, dword Index)
Definition: StringDBGet.c:3
char * DBEnd
Definition: libFireBird.h:2551
char * DBPtr
Definition: libFireBird.h:2550