Re: Diseqc problems with VDR1.7.19

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

 



I’ve done some further investigation and as far as I can tell the problem appears to be with the value returned by cDiseqc::Codes in diseqc.c.

The return value changed from ‘uchar’ to ‘const uchar’ between 1.7.18 and 1.7.19 and the returned value now always points to the last diseqc code in the string.

The following trace from 1.7.19 shows the problem:    

 

Diseqc command list found = t V [E0 10 38 F4] W500 [E0 31 6B 01] W250 [E1 31 6B 01] W15 T

  Entered cDiseqc::Codes pointing at : E0 10 38 F4]

  In cDiseqc::Codes - returning a pointer 137345561 to :  W500 [E0 31

Received from diseqc->Codes(n) a pointer 137345509 to : E1 31 6B 01

Sending Diseqc command: E1 31 6B 01

  Entered cDiseqc::Codes pointing at : E0 31 6B 01]

  In cDiseqc::Codes - returning a pointer 137345580 to :  W250 [E1 31

Received from diseqc->Codes(n) a pointer 137345509 to : E1 31 6B 01

Sending Diseqc command: E1 31 6B 01

  Entered cDiseqc::Codes pointing at : E1 31 6B 01]

  In cDiseqc::Codes - returning a pointer 137345599 to :  W15 T

Received from diseqc->Codes(n) a pointer 137345509 to : E1 31 6B 01

Sending Diseqc command: E1 31 6B 01

 

The identical trace from 1.7.18 which works correctly looks like this:

 

Diseqc command list found = t V [E0 10 38 F4] W500 [E0 31 6B 01] W250 [E1 31 6B 01] W15 T

  Entered cDiseqc::Codes pointing at : E0 10 38 F4]

  In cDiseqc::Codes - returning a pointer 137333177 to :  W500 [E0 31

Received from diseqc->Codes(n) a pointer 137333125 to : E0 10 38 F4

Sending Diseqc command: E0 10 38 F4

  Entered cDiseqc::Codes pointing at : E0 31 6B 01]

  In cDiseqc::Codes - returning a pointer 137333196 to :  W250 [E1 31

Received from diseqc->Codes(n) a pointer 137333125 to : E0 31 6B 01

Sending Diseqc command: E0 31 6B 01

  Entered cDiseqc::Codes pointing at : E1 31 6B 01]

  In cDiseqc::Codes - returning a pointer 137333215 to :  W15 T

Received from diseqc->Codes(n) a pointer 137333125 to : E1 31 6B 01

Sending Diseqc command: E1 31 6B 01

 

I have tried to revert cDiseqc::Codes in 1.7.19 to the 1.7.18 version but the extent of the changes introduced to 1.7.19 in this area eventually defeated my limited C++ skills. In doing so I have learnt and read a lot and it appears that there are some pitfalls in returning ‘const’ values. I suspect that this is the problem here but can’t be sure.

If someone could have a look at this and suggest how to fix it, it would be much appreciated.

 

Thanks,

    

Mark.

 

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

[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