diff options
author | Christian Wieninger <cwieninger@gmx.de> | 2010-11-25 21:14:28 +0100 |
---|---|---|
committer | Christian Wieninger <cwieninger@gmx.de> | 2010-11-25 21:14:28 +0100 |
commit | c70415340f58c46e0565acab42ca4ff158a19b8d (patch) | |
tree | 3d2b5ab538daf35a4c2ce1652e1598239356134a | |
parent | 8308cc7ce870bb1355dc3b4b603a2d817d5b0187 (diff) | |
download | vdr-plugin-epgsearch-c70415340f58c46e0565acab42ca4ff158a19b8d.tar.gz vdr-plugin-epgsearch-c70415340f58c46e0565acab42ca4ff158a19b8d.tar.bz2 |
another FreeBSD patch concerning scanf
-rw-r--r-- | blacklist.c | 6 | ||||
-rw-r--r-- | changrp.c | 5 | ||||
-rw-r--r-- | epgsearchext.c | 6 |
3 files changed, 17 insertions, 0 deletions
diff --git a/blacklist.c b/blacklist.c index 7d10275..5a61534 100644 --- a/blacklist.c +++ b/blacklist.c @@ -316,9 +316,15 @@ bool cBlacklist::Parse(const char *s) int fields = sscanf(value, "%d-%d", &minNum, &maxNum); if (fields == 0) // stored with ID { +#ifdef __FreeBSD__ + char *channelMinbuffer = MALLOC(char, 32); + char *channelMaxbuffer = MALLOC(char, 32); + int channels = sscanf(value, "%31[^|]|%31[^|]", channelMinbuffer, channelMaxbuffer); +#else char *channelMinbuffer = NULL; char *channelMaxbuffer = NULL; int channels = sscanf(value, "%a[^|]|%a[^|]", &channelMinbuffer, &channelMaxbuffer); +#endif channelMin = Channels.GetByChannelID(tChannelID::FromString(channelMinbuffer), true, true); if (!channelMin) { @@ -73,8 +73,13 @@ bool cChannelGroup::Parse(const char *s) break; default: { +#ifdef __FreeBSD__ + char *channelbuffer = MALLOC(char, 32); + int numChannels = sscanf(value, "%31[^|]", channelbuffer); +#else char *channelbuffer = NULL; int numChannels = sscanf(value, "%a[^|]", &channelbuffer); +#endif if (numChannels == 1) { cChannel* channel = Channels.GetByChannelID(tChannelID::FromString(channelbuffer), true, true); diff --git a/epgsearchext.c b/epgsearchext.c index 3fd576e..fc76534 100644 --- a/epgsearchext.c +++ b/epgsearchext.c @@ -464,9 +464,15 @@ bool cSearchExt::Parse(const char *s) int fields = sscanf(value, "%d-%d", &minNum, &maxNum); if (fields == 0) // stored with ID { +#ifdef __FreeBSD__ + char *channelMinbuffer = MALLOC(char, 32); + char *channelMaxbuffer = MALLOC(char, 32); + int channels = sscanf(value, "%31[^|]|%31[^|]", channelMinbuffer, channelMaxbuffer); +#else char *channelMinbuffer = NULL; char *channelMaxbuffer = NULL; int channels = sscanf(value, "%a[^|]|%a[^|]", &channelMinbuffer, &channelMaxbuffer); +#endif channelMin = Channels.GetByChannelID(tChannelID::FromString(channelMinbuffer), true, true); if (!channelMin) { |