aboutsummaryrefslogtreecommitdiffstats
path: root/util/scan/scan.c
diff options
context:
space:
mode:
authorMark Purcell <msp@debian.org>2010-02-25 21:13:46 +1100
committeretobi <git@e-tobi.net>2013-09-03 09:48:46 +0200
commit665818f1969f893f05edf5b70eb1804c89b2829e (patch)
tree34ba68cee03c52d769a5a51b456b7e9d63cd091a /util/scan/scan.c
parent109c7947d6a11a2a54eff1b19615ed80ea2f0602 (diff)
parent9fe4d4ea9c054e539ab679ed2e9c076c35beb69d (diff)
downloadlinux-dvb-apps-3a4100597b16fb9c0845fab3a54b14f0af8aa62b.tar.gz
Imported Debian patch 1.1.1+rev1355-1debian/1.1.1+rev1355-1
Diffstat (limited to 'util/scan/scan.c')
-rw-r--r--util/scan/scan.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/util/scan/scan.c b/util/scan/scan.c
index 1b7a3e5..3058bdb 100644
--- a/util/scan/scan.c
+++ b/util/scan/scan.c
@@ -236,6 +236,17 @@ static struct transponder *find_transponder(uint32_t frequency)
static void copy_transponder(struct transponder *d, struct transponder *s)
{
+ struct list_head *pos;
+ struct service *service;
+
+ if (d->transport_stream_id != s->transport_stream_id) {
+ /* propagate change to any already allocated services */
+ list_for_each(pos, &d->services) {
+ service = list_entry(pos, struct service, list);
+ service->transport_stream_id = s->transport_stream_id;
+ }
+ }
+
d->network_id = s->network_id;
d->original_network_id = s->original_network_id;
d->transport_stream_id = s->transport_stream_id;