Package: avifile / 1:0.7.48~20090503.ds-20.1

ftbfs-gcc4.7.patch Patch series | download
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)
 	    {