Problem with cChannel's copy constructor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I just ran into a problem with cChannel's copy constructor.
The problem is that this is actually not a copy constructor, because it sets 
the values to 0 instead of copying, and - most important - it behaves 
different from operator=.

It seems these two are not used in VDR except for one place (where I found 
this), cSectionHandler::SetChannel. The value stored by cSectionHandle has 
nid,tid,sid set to 0.
In the line 
  shp->channel = Channel ? *Channel : cChannel();
there seems only the operator= involved, but actually the copy constructor is 
invoked before the *Channel is given to opertator=.
Attached is a short test program which illustrates the problem.

Solution is to make the copy constructor do copying.

Marcel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.c
Type: text/x-csrc
Size: 670 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050804/739ff040/test.c

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux