mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-29 00:11:08 +02:00
eitd: -fix read/write epg collision
Origin commit data
------------------
Branch: ni/coolstream
Commit: 520cf0e150
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2012-05-08 (Tue, 08 May 2012)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1180,12 +1180,12 @@ static void commandReadSIfromXML(int connfd, char *data, const unsigned dataLeng
|
|||||||
|
|
||||||
static void commandWriteSI2XML(int connfd, char *data, const unsigned dataLength)
|
static void commandWriteSI2XML(int connfd, char *data, const unsigned dataLength)
|
||||||
{
|
{
|
||||||
char epgdir[100] = "";
|
|
||||||
|
|
||||||
sendEmptyResponse(connfd, NULL, 0);
|
sendEmptyResponse(connfd, NULL, 0);
|
||||||
|
if ((!reader_ready) || (dataLength > 100)){
|
||||||
if (dataLength > 100)
|
eventServer->sendEvent(CSectionsdClient::EVT_WRITE_SI_FINISHED, CEventServer::INITID_SECTIONSD);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
char epgdir[100] = "";
|
||||||
|
|
||||||
strncpy(epgdir, data, dataLength);
|
strncpy(epgdir, data, dataLength);
|
||||||
epgdir[dataLength] = '\0';
|
epgdir[dataLength] = '\0';
|
||||||
|
@@ -243,11 +243,13 @@ void readDVBTimeFilter(void)
|
|||||||
dvb_time_update = true;
|
dvb_time_update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void deleteOldfileEvents(char *epgdir)
|
void deleteOldfileEvents(char *epgdir)
|
||||||
{
|
{
|
||||||
std::string indexname = std::string(epgdir) + "/index.xml";
|
std::string indexname = std::string(epgdir) + "/index.xml";
|
||||||
xmlDocPtr filter_parser = parseXmlFile(indexname.c_str());
|
xmlDocPtr filter_parser = parseXmlFile(indexname.c_str());
|
||||||
std::string filename;
|
std::string filename;
|
||||||
|
std::string file;
|
||||||
|
|
||||||
if (filter_parser != NULL)
|
if (filter_parser != NULL)
|
||||||
{
|
{
|
||||||
@@ -255,10 +257,11 @@ void deleteOldfileEvents(char *epgdir)
|
|||||||
filter = filter->xmlChildrenNode;
|
filter = filter->xmlChildrenNode;
|
||||||
|
|
||||||
while (filter) {
|
while (filter) {
|
||||||
|
|
||||||
filename = xmlGetAttribute(filter, "name");
|
filename = xmlGetAttribute(filter, "name");
|
||||||
unlink(filename.c_str());
|
file = epgdir;
|
||||||
|
file +="/";
|
||||||
|
file +=filename;
|
||||||
|
unlink(file.c_str());
|
||||||
filter = filter->xmlNextNode;
|
filter = filter->xmlNextNode;
|
||||||
}
|
}
|
||||||
xmlFreeDoc(filter_parser);
|
xmlFreeDoc(filter_parser);
|
||||||
@@ -267,6 +270,7 @@ void deleteOldfileEvents(char *epgdir)
|
|||||||
|
|
||||||
void *insertEventsfromFile(void * data)
|
void *insertEventsfromFile(void * data)
|
||||||
{
|
{
|
||||||
|
reader_ready=false;
|
||||||
xmlDocPtr event_parser = NULL;
|
xmlDocPtr event_parser = NULL;
|
||||||
xmlNodePtr eventfile = NULL;
|
xmlNodePtr eventfile = NULL;
|
||||||
xmlNodePtr service = NULL;
|
xmlNodePtr service = NULL;
|
||||||
@@ -441,13 +445,6 @@ static void write_indexxml_footer(FILE *fd)
|
|||||||
fprintf(fd, "</dvbepgfiles>\n");
|
fprintf(fd, "</dvbepgfiles>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// void cp(char * from, char * to)
|
|
||||||
// {
|
|
||||||
// char cmd[256];
|
|
||||||
// snprintf(cmd, 256, "cp -f %s %s", from, to);
|
|
||||||
// system(cmd);
|
|
||||||
// }
|
|
||||||
|
|
||||||
void writeEventsToFile(char *epgdir)
|
void writeEventsToFile(char *epgdir)
|
||||||
{
|
{
|
||||||
FILE * indexfile = NULL;
|
FILE * indexfile = NULL;
|
||||||
|
Reference in New Issue
Block a user