aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/bsdiff/patches/001-musl.patch
blob: 5232bc1fe78536115288723480d5fa4397ad19ec (plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
--- a/bsdiff.c	2005-08-17 00:13:52.000000000 +0200
+++ b/bsdiff.c	2016-02-21 01:39:31.157915765 +0100
@@ -101,7 +101,7 @@
 	if(start+len>kk) split(I,V,kk,start+len-kk,h);
 }
 
-static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize)
+static void qsufsort(off_t *I,off_t *V,unsigned char *old,off_t oldsize)
 {
 	off_t buckets[256];
 	off_t i,h,len;
@@ -139,7 +139,7 @@
 	for(i=0;i<oldsize+1;i++) I[V[i]]=i;
 }
 
-static off_t matchlen(u_char *old,off_t oldsize,u_char *new,off_t newsize)
+static off_t matchlen(unsigned char *old,off_t oldsize,unsigned char *new,off_t newsize)
 {
 	off_t i;
 
@@ -149,8 +149,8 @@
 	return i;
 }
 
-static off_t search(off_t *I,u_char *old,off_t oldsize,
-		u_char *new,off_t newsize,off_t st,off_t en,off_t *pos)
+static off_t search(off_t *I,unsigned char *old,off_t oldsize,
+		unsigned char *new,off_t newsize,off_t st,off_t en,off_t *pos)
 {
 	off_t x,y;
 
@@ -175,7 +175,7 @@
 	};
 }
 
-static void offtout(off_t x,u_char *buf)
+static void offtout(off_t x,unsigned char *buf)
 {
 	off_t y;
 
@@ -196,7 +196,7 @@
 int main(int argc,char *argv[])
 {
 	int fd;
-	u_char *old,*new;
+	unsigned char *old,*new;
 	off_t oldsize,newsize;
 	off_t *I,*V;
 	off_t scan,pos,len;
@@ -206,9 +206,9 @@
 	off_t overlap,Ss,lens;
 	off_t i;
 	off_t dblen,eblen;
-	u_char *db,*eb;
-	u_char buf[8];
-	u_char header[32];
+	unsigned char *db,*eb;
+	unsigned char buf[8];
+	unsigned char header[32];
 	FILE * pf;
 	BZFILE * pfbz2;
 	int bz2err;
--- a/bspatch.c	2005-08-17 00:14:00.000000000 +0200
+++ b/bspatch.c	2016-02-21 01:39:29.753859970 +0100
@@ -36,7 +36,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-static off_t offtin(u_char *buf)
+static off_t offtin(unsigned char *buf)
 {
 	off_t y;
 
@@ -62,8 +62,8 @@
 	int fd;
 	ssize_t oldsize,newsize;
 	ssize_t bzctrllen,bzdatalen;
-	u_char header[32],buf[8];
-	u_char *old, *new;
+	unsigned char header[32],buf[8];
+	unsigned char *old, *new;
 	off_t oldpos,newpos;
 	off_t ctrl[3];
 	off_t lenread;
T is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <string.h> #include <ch.h> #include <evtimer.h> #include <mac.h> #include <uip.h> #include <uip_arp.h> #include <httpd.h> #include <clock-arch.h> #define IPADDR0 192 #define IPADDR1 168 #define IPADDR2 1 #define IPADDR3 20 #define SEND_TIMEOUT 50 static const struct uip_eth_addr macaddr = { {0xC2, 0xAF, 0x51, 0x03, 0xCF, 0x46} }; #define BUF ((struct uip_eth_hdr *)&uip_buf[0]) /* * uIP send function wrapping the EMAC functions. */ static void network_device_send(void) { MACTransmitDescriptor td; if (macWaitTransmitDescriptor(&ETH1, &td, MS2ST(SEND_TIMEOUT)) == RDY_OK) { if(uip_len <= UIP_LLH_LEN + UIP_TCPIP_HLEN) macWriteTransmitDescriptor(&td, uip_buf, uip_len); else { macWriteTransmitDescriptor(&td, uip_buf, UIP_LLH_LEN + UIP_TCPIP_HLEN); macWriteTransmitDescriptor(&td, uip_appdata, uip_len - (UIP_LLH_LEN + UIP_TCPIP_HLEN)); } macReleaseTransmitDescriptor(&td); } /* Dropped... */ } /* * uIP receive function wrapping the EMAC function. */ static size_t network_device_read(void) { MACReceiveDescriptor rd; size_t size; if (macWaitReceiveDescriptor(&ETH1, &rd, TIME_IMMEDIATE) != RDY_OK) return 0; size = rd.rd_size; macReadReceiveDescriptor(&rd, uip_buf, size); macReleaseReceiveDescriptor(&rd); return size; } void clock_init(void) {} clock_time_t clock_time( void ) { return chTimeNow(); } /* * TCP/IP periodic timer. */ static void PeriodicTimerHandler(eventid_t id) { int i; for (i = 0; i < UIP_CONNS; i++) { uip_periodic(i); if (uip_len > 0) { uip_arp_out(); network_device_send(); } } } /* * ARP periodic timer. */ static void ARPTimerHandler(eventid_t id) { (void)macPollLinkStatus(&ETH1); uip_arp_timer(); } /* * Ethernet frame received. */ static void FrameReceivedHandler(eventid_t id) { while ((uip_len = network_device_read()) > 0) { if (BUF->type == HTONS(UIP_ETHTYPE_IP)) { uip_arp_ipin(); uip_input(); if (uip_len > 0) { uip_arp_out(); network_device_send(); } } else if (BUF->type == HTONS(UIP_ETHTYPE_ARP)) { uip_arp_arpin(); if (uip_len > 0) network_device_send(); } } } #define FRAME_RECEIVED_ID 0 #define PERIODIC_TIMER_ID 1 #define ARP_TIMER_ID 2 static const evhandler_t evhndl[] = { FrameReceivedHandler, PeriodicTimerHandler, ARPTimerHandler }; msg_t WebThread(void *p) { EvTimer evt1, evt2; EventListener el0, el1, el2; uip_ipaddr_t ipaddr; /* * Event sources setup. */ chEvtRegister(macGetReceiveEventSource(&ETH1), &el0, FRAME_RECEIVED_ID); chEvtPend(EVENT_MASK(FRAME_RECEIVED_ID)); /* In case some frames are already buffered */ evtInit(&evt1, MS2ST(500)); evtStart(&evt1); chEvtRegister(&evt1.et_es, &el1, PERIODIC_TIMER_ID); evtInit(&evt2, S2ST(10)); evtStart(&evt2); chEvtRegister(&evt2.et_es, &el2, ARP_TIMER_ID); /* * EMAC settings. */ macSetAddress(&ETH1, &macaddr.addr[0]); (void)macPollLinkStatus(&ETH1); /* * uIP initialization. */ uip_init(); uip_setethaddr(macaddr); uip_ipaddr(ipaddr, IPADDR0, IPADDR1, IPADDR2, IPADDR3); uip_sethostaddr(ipaddr); httpd_init(); while (TRUE) { chEvtDispatch(evhndl, chEvtWaitOne(ALL_EVENTS)); } return 0; }