Package: rsh-redone
Severity: minor
Usertags: clang-ftbfs
User: pkg-llvm-t...@lists.alioth.debian.org
Tag: patch


Hello,

Using the rebuild infrastructure, your package fails to build with clang
(instead of gcc).

Thanks,
Arthur
diff -Naur rsh-redone.orig/rsh-redone-85/debian/changelog rsh-redone/rsh-redone-85/debian/changelog
--- rsh-redone.orig/rsh-redone-85/debian/changelog	2014-06-08 17:55:02.676669354 -0500
+++ rsh-redone/rsh-redone-85/debian/changelog	2014-06-08 18:23:44.796699343 -0500
@@ -1,3 +1,11 @@
+rsh-redone (85-3) unstable; urgency=low
+
+  * Fix FTBFS with clang
+    - Fixed "function declaration not allowed" in
+      rlogin.c
+
+ -- Arthur Marble <art...@info9.net>  Sun, 08 Jun 2014 18:23:44 -0500
+
 rsh-redone (85-2) unstable; urgency=low
 
   * Bump Standards-Version.
diff -Naur rsh-redone.orig/rsh-redone-85/patches/clang-ftbfs.diff rsh-redone/rsh-redone-85/patches/clang-ftbfs.diff 
--- rsh-redone.orig/rsh-redone-85/patches/clang-ftbfs.diff	1969-12-31 18:00:00.000000000 -0600
+++ rsh-redone/rsh-redone-85/patches/clang-ftbfs.diff	2014-06-08 18:24:39.480700296 -0500
@@ -0,0 +1,97 @@
+--- a/rlogin.c
++++ b/rlogin.c
+@@ -119,6 +119,37 @@ static char *termspeed(speed_t speed) {
+ 	}
+ }
+ 
++static void sigwinch_h(int signal, int winchpipe[]) {
++	write(winchpipe[1], "", 1);
++}
++
++static void winch(bool winchsupport, char buf[][BUFLEN], char *bufp[], int len[],
++	   fd_set outfdset, int sock, fd_set infdset, fd_set infd) {
++	char wbuf[12];
++	struct winsize winsize;
++
++	if(winchsupport) {
++		wbuf[0] = wbuf[1] = (char)0xFF;
++		wbuf[2] = wbuf[3] = 's';
++
++		ioctl(0, TIOCGWINSZ, &winsize);
++		*(uint16_t *)(wbuf + 4) = htons(winsize.ws_row);
++		*(uint16_t *)(wbuf + 6) = htons(winsize.ws_col);
++		*(uint16_t *)(wbuf + 8) = htons(winsize.ws_xpixel);
++		*(uint16_t *)(wbuf + 10) = htons(winsize.ws_ypixel);
++
++		if(bufp[0] == buf[0])
++			len[0] = 0;
++
++		memcpy(bufp[0] + len[0], wbuf, 12);
++		len[0] += 12;
++
++		FD_SET(sock, &outfdset);
++		FD_CLR(0, &infdset);
++		FD_CLR(0, &infd);
++	}
++}
++
+ int main(int argc, char **argv) {
+ 	char *user = NULL;
+ 	char *luser = NULL;
+@@ -384,36 +415,6 @@ int main(int argc, char **argv) {
+ 	FD_SET(winchpipe[0], &infdset);
+ 	if(winchpipe[0] >= maxfd)
+ 		maxfd = winchpipe[0] + 1;
+-	
+-	void sigwinch_h(int signal) {
+-		write(winchpipe[1], "", 1);
+-	}
+-
+-	void winch() {
+-		char wbuf[12];
+-		struct winsize winsize;
+-
+-		if(winchsupport) {
+-			wbuf[0] = wbuf[1] = (char)0xFF;
+-			wbuf[2] = wbuf[3] = 's';
+-
+-			ioctl(0, TIOCGWINSZ, &winsize);
+-			*(uint16_t *)(wbuf + 4) = htons(winsize.ws_row);
+-			*(uint16_t *)(wbuf + 6) = htons(winsize.ws_col);
+-			*(uint16_t *)(wbuf + 8) = htons(winsize.ws_xpixel);
+-			*(uint16_t *)(wbuf + 10) = htons(winsize.ws_ypixel);
+-
+-			if(bufp[0] == buf[0])
+-				len[0] = 0;
+-			
+-			memcpy(bufp[0] + len[0], wbuf, 12);
+-			len[0] += 12;
+-			
+-			FD_SET(sock, &outfdset);
+-			FD_CLR(0, &infdset);
+-			FD_CLR(0, &infd);
+-		}
+-	}
+ 
+ 	if(signal(SIGWINCH, sigwinch_h) == SIG_ERR) {
+ 		fprintf(stderr, "%s: signal() failed: %s\n", argv0, strerror(errno));
+@@ -443,7 +444,8 @@ int main(int argc, char **argv) {
+ 			} else {
+ 				if(*buf[1] == (char)0x80) {
+ 					winchsupport = true;
+-					winch();
++					winch(winchsupport, buf, bufp, len,
++					      outfdset, sock, infdset, infd);
+ 				}
+ 			}
+ 		}
+@@ -451,7 +453,8 @@ int main(int argc, char **argv) {
+ 		if(FD_ISSET(winchpipe[0], &infd)) {
+ 			char dummy;
+ 			read(winchpipe[0], &dummy, 1);
+-			winch();
++			winch(winchsupport, buf, bufp, len, outfdset, sock,
++			      infdset, infd);
+ 		}
+ 
+ 		/* Read from socket, blocking more socket input until everything is written to stdout */
diff -Naur rsh-redone.orig/rsh-redone-85/patches/series rsh-redone/rsh-redone-85/patches/series 
--- rsh-redone.orig/rsh-redone-85/patches/series	1969-12-31 18:00:00.000000000 -0600
+++ rsh-redone/rsh-redone-85/patches/series	2014-06-08 17:55:43.488670064 -0500
@@ -0,0 +1 @@
+clang-ftbfs.diff

Reply via email to