FireBirdLib - Topfield TMS PVR TAP Programming Library
LogEntryGeneric.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include "libFireBird.h"
5
6void LogEntryGeneric(char *ProgramName, bool Console, char *Text)
7{
9
10 char *s;
11 int l;
12 TYPE_File *File;
13 char TimeResult[40];
14 char CRLF[] = {'\r', '\n'};
15 byte Sec;
16 byte *ISOText;
17
18 #define FILENAME "TAPSystem.log"
19
20 if(!ProgramName || !Text)
21 {
22 TRACEEXIT();
23 return;
24 }
25
27 if(!HDD_ChangeDir("/ProgramFiles/Settings"))
28 {
29 HDD_ChangeDir("/ProgramFiles");
30 if(!TAP_Hdd_Exist("Settings")) TAP_Hdd_Create("Settings", ATTR_FOLDER);
31 HDD_ChangeDir("Settings");
32 }
33
34 l = strlen(ProgramName) + strlen(Text) + 4;
35 s = TAP_MemAlloc(l);
36 if(s)
37 {
38 memset(s, 0, l);
39 TAP_SPrint(s, "%s: %s", ProgramName, Text);
40 StrToISOAlloc(s, &ISOText);
41 if(ISOText)
42 {
43 TimeFormat(Now(&Sec), Sec, TIMESTAMP_YMDHMS, TimeResult);
44 strcat(TimeResult, " ");
45
46 if(!TAP_Hdd_Exist(FILENAME)) TAP_Hdd_Create(FILENAME, ATTR_NORMAL);
47 if((File = TAP_Hdd_Fopen(FILENAME)) != NULL)
48 {
49 TAP_Hdd_Fseek(File, 0, SEEK_END);
50 TAP_Hdd_Fwrite(TimeResult, strlen(TimeResult), 1, File);
51 if(isUTFToppy())
52 TAP_Hdd_Fwrite(s, strlen(s), 1, File);
53 else
54 TAP_Hdd_Fwrite(ISOText, strlen(ISOText), 1, File);
55 TAP_Hdd_Fwrite(CRLF, 2, 1, File);
56 TAP_Hdd_Fclose(File);
57 }
58
59 if(Console)
60 {
61 if(isUTFToppy())
62 {
63 TAP_Print("%s%s\n", TimeResult, s);
64 }
65 else
66 {
67 TAP_Print("%s%s\n", TimeResult, ISOText);
68 }
69 }
70
71 TAP_MemFree(ISOText);
72 }
73 TAP_MemFree(s);
74 }
76
77 TRACEEXIT();
78}
bool HDD_ChangeDir(const char *Dir)
Definition: HDD_ChangeDir.c:5
#define FILENAME
void LogEntryGeneric(char *ProgramName, bool Console, char *Text)
bool isUTFToppy(void)
Definition: isUTFToppy.c:3
bool HDD_TAP_PushDir(void)
#define TAP_Print
Definition: libFireBird.h:181
char * TimeFormat(dword DateTime, byte Sec, eTimeStampFormat TimeStampFormat, char *Result)
Definition: TimeFormat.c:4
#define TRACEEXIT()
Definition: libFireBird.h:1244
@ TIMESTAMP_YMDHMS
Definition: libFireBird.h:100
#define TRACEENTER()
Definition: libFireBird.h:1243
bool HDD_TAP_PopDir(void)
Definition: HDD_TAP_PopDir.c:3
#define SEEK_END
Definition: libFireBird.h:1883
void StrToISOAlloc(const byte *SourceString, byte **DestString)
Definition: StrToISOAlloc.c:5
dword Now(byte *Sec)
Definition: Now.c:3