FireBirdLib - Topfield TMS PVR TAP Programming Library
HDD_FappendWrite.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <string.h>
3#include "libFireBird.h"
4
5bool HDD_FappendWrite(TYPE_File *file, const char *data)
6{
8
9 char buffer[256 + 512];
10 dword len, pos, extra, blks;
11 bool ret;
12
13 len = strlen(data);
14
15 if(file == NULL || len > 256)
16 {
17 TRACEEXIT();
18 return FALSE;
19 }
20
21 strcpy(buffer, data);
22 memset(buffer + len, 0, sizeof(buffer) - len);
23
24 pos = TAP_Hdd_Ftell(file);
25 extra = 512 - ((pos + len) % 512);
26
27 if(extra == 512) extra = 0;
28
29 if((blks = TAP_Hdd_Fwrite(buffer, len + extra, 1, file)) != 1)
30 {
31 TRACEEXIT();
32 return FALSE;
33 }
34
35 pos += len;
36 ret = (TAP_Hdd_Fseek(file, pos, SEEK_SET) == pos);
37
38 TRACEEXIT();
39 return ret;
40}
bool HDD_FappendWrite(TYPE_File *file, const char *data)
#define SEEK_SET
Definition: libFireBird.h:1875
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243