1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
Description: Fix FTBFS for gcc-4.7
* Fix warning: cast to pointer from integer of different size
* Fix error: cannot bind packed field
Bug-Debian: http://bugs.debian.org/667107
Author: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
Last-Update: 2012-05-09
Index: avifile-0.7.48~20090503.ds/lib/aviread/AsfNetworkInputStream.cpp
===================================================================
--- avifile-0.7.48~20090503.ds.orig/lib/aviread/AsfNetworkInputStream.cpp 2009-05-02 02:56:45.000000000 +0800
+++ avifile-0.7.48~20090503.ds/lib/aviread/AsfNetworkInputStream.cpp 2012-05-09 17:00:42.256160769 +0800
@@ -594,7 +594,7 @@
close(m_iSocket);
m_iSocket = -1;
flushPipe();
- return (void*)result;
+ return (void*)((intptr_t)result);
}
void* AsfNetworkInputStream::threadStarter(void* arg)
@@ -939,7 +939,7 @@
}
AsfPacket* p;
- unsigned short& size = chhdr.size;
+
//printf("STREAMPACKET 0x%x sz:%d %lld seq:%d part:%d sc:%d\n", chhdr.kind, size, rsize, chhdr.seq, chhdr.partflag, chhdr.size_confirm);
switch (chhdr.kind)
{
@@ -975,15 +975,15 @@
m_bFinished = true;
continue;
}
- if (size > m_Header.max_pktsize)
+ if (((unsigned short)(chhdr.size)) > m_Header.max_pktsize)
{
- AVM_WRITE("ASF network reader", "size>m_Header.max_pktsize (%d > %d) ignoring...\n", size, m_Header.max_pktsize);
+ AVM_WRITE("ASF network reader", "size>m_Header.max_pktsize (%d > %d) ignoring...\n", ((unsigned short)(chhdr.size)), m_Header.max_pktsize);
continue;
}
//AVM_WRITE("ASF network reader", "Packet size %d\n", size);
p = new AsfPacket(m_Header.max_pktsize);
- if (read(&(*p)[0], size) <= 0)
+ if (read(&(*p)[0], ((unsigned short)(chhdr.size))) <= 0)
{
p->release();
AVM_WRITE("ASF network reader", "read() no more data\n");
@@ -994,8 +994,8 @@
//for (int i = 0; i < 20; i++)
// AVM_WRITE("ASF network reader", "%02x ",(uint_t) (*p)[inloaded + i]);
//AVM_WRITE("ASF network reader", "\n");
- if (m_lfd >= 0 && size < m_Header.max_pktsize)
- memset(&(*p)[size], 0, m_Header.max_pktsize - size); // zero padding
+ if (m_lfd >= 0 && ((unsigned short)(chhdr.size)) < m_Header.max_pktsize)
+ memset(&(*p)[((unsigned short)(chhdr.size))], 0, m_Header.max_pktsize - ((unsigned short)(chhdr.size))); // zero padding
//AVM_WRITE("ASF network reader", 0, "Created packet %p %d - 0x%x (free %d : %.2f)\n", p, p->size(), (*p)[0], m_Header.max_pktsize - size, size/(float)m_Header.max_pktsize);
if (p->init(m_uiTimeshift) == 0)
{
|