It's a known problem with gcc 4.6.0. If the patch does not break
older gcc compilation we shall include it.
David, if it's ok with you I can implement it.
Regards,
Werner
Am 05.04.2011 18:33, schrieb Guido Trentalancia:
> Hi,
>
> I have tried to compile ccrtp version 1.8.0 but apparently it fails to
> build with gcc 4.6.0 due to an undefined type. I found a possible fix:
>
> diff -pruN ccrtp-1.8.0/src//ccrtp/iqueue.h
> ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/iqueue.h
> --- ccrtp-1.8.0/src//ccrtp/iqueue.h 2010-04-18 20:51:49.000000000 +0200
> +++ ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/iqueue.h 2011-04-05
> 18:18:18.674151885 +0200
> @@ -894,7 +894,7 @@ public:
> public:
> typedef std::forward_iterator_tag iterator_category;
> typedef SyncSource value_type;
> - typedef ptrdiff_t difference_type;
> + typedef std::ptrdiff_t difference_type;
> typedef const SyncSource* pointer;
> typedef const SyncSource& reference;
>
> diff -pruN ccrtp-1.8.0/src//ccrtp/sources.h
> ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/sources.h
> --- ccrtp-1.8.0/src//ccrtp/sources.h 2010-04-18 20:51:49.000000000 +0200
> +++ ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/sources.h 2011-04-05
> 18:17:57.074212702 +0200
> @@ -406,7 +406,7 @@ public:
> public:
> typedef std::forward_iterator_tag iterator_category;
> typedef Participant value_type;
> - typedef ptrdiff_t difference_type;
> + typedef std::ptrdiff_t difference_type;
> typedef const Participant* pointer;
> typedef const Participant& reference;
>
> diff -pruN ccrtp-1.8.0/src//control.cpp
> ccrtp-1.8.0-std-ptrdiff_t/src//control.cpp
> --- ccrtp-1.8.0/src//control.cpp 2011-01-12 15:46:17.000000000 +0100
> +++ ccrtp-1.8.0-std-ptrdiff_t/src//control.cpp 2011-04-05 18:18:47.248086392
> +0200
> @@ -575,7 +575,7 @@ bool QueueRTCPManager::onGotSDES(SyncSou
> // 8-bit long, so no ntoh[s|l] is required
> bool cname_found = false;
>
> - ptrdiff_t pointer = reinterpret_cast<unsigned char*>(&pkt) -
> rtcpRecvBuffer;
> + std::ptrdiff_t pointer = reinterpret_cast<unsigned char*>(&pkt) -
> rtcpRecvBuffer;
> uint16 i = 0;
> do {
> size_t len = pkt.getLength();
> @@ -649,7 +649,7 @@ bool QueueRTCPManager::onGotSDESChunk(Sy
> pointer++;
> pointer += (pointer & 0x03); // padding
> } else if ( item->type == SDESItemTypePRIV ) {
> - ptrdiff_t prevpointer = pointer;
> + std::ptrdiff_t prevpointer = pointer;
> uint8 plength = *( &(item->len) + 1 );
> pointer += sizeof(item->type) + sizeof(item->len) + 1;
>
>
>
> _______________________________________________
> Ccrtp-devel mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/ccrtp-devel
>
_______________________________________________
Ccrtp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/ccrtp-devel