[PATCH] port tin 1.9.x to Haiku

Urs Janßen <[email protected]> Wed, 16 Sep 2009 16:48:20 +0200
Newsgroups gmane.network.tin.devel
Organization tin.org
Message-ID <[email protected]>
patch to make tin compile/work on Haiku <http://www.haiku-os.org/>

=== modified file 'aclocal.m4'
--- aclocal.m4	2009-05-20 14:12:33 +0000
+++ aclocal.m4	2009-09-16 08:39:53 +0000
@@ -3462,6 +3462,7 @@
 dnl	-lnsl -lsocket
 dnl	-lsocket
 dnl	-lbsd
+dnl -lnetwork
 AC_DEFUN([CF_NETLIBS],[
 cf_test_netlibs=no
 
@@ -3523,6 +3524,9 @@
 	AC_CHECK_FUNCS(gethostbyname,,[
 		CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
 
+	AC_CHECK_FUNCS(gethostbyname,,[
+		CF_RECHECK_FUNC(gethostbyname,network,cf_cv_netlibs)])
+
 	AC_CHECK_FUNCS(strcasecmp,,[
 		CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)])
 	;;
=== modified file 'configure.in'
--- configure.in	2009-07-17 20:56:14 +0000
+++ configure.in	2009-09-16 14:15:46 +0000
@@ -1273,12 +1273,16 @@
 				AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK))
 				;;
 			*)
+				# link does not work
 				AC_DEFINE(NO_LOCALE)
 				AC_DEFINE(NO_LOCKING)
 				AC_DEFINE(FILE_MODE_BROKEN)
 				;;
 			esac
 		;;
+	*haiku*)
+		# link does not work
+		;;
 	*)
 		AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK))
 esac

=== modified file 'src/signal.c'
--- src/signal.c	2009-02-22 13:35:16 +0000
+++ src/signal.c	2009-09-16 14:13:43 +0000
@@ -425,12 +425,17 @@
 			break;
 #endif /* SIGHUP || SIGUSR1 || SIGTERM */
 
-#ifdef SIGBUS
-		case SIGBUS:
-#endif /* SIGBUS */
 #ifdef SIGSEGV
 		case SIGSEGV:
+#	ifdef SIGBUS && (SIGSEGV != SIGBUS) /* on Haiku SIGSEGV == SIGBUS */
+		case SIGBUS:
+#	endif /* SIGBUS && SIGSEGV != SIGBUS */
+#else
+#	ifdef SIGBUS
+		case SIGBUS:
+#	endif /* SIGBUS */
 #endif /* SIGSEGV */
+
 #if defined(SIGBUS) || defined(SIGSEGV)
 			my_fprintf(stderr, _(txt_send_bugreport), tin_progname, VERSION, RELEASEDATE, RELEASENAME, OSNAME, bug_addr);
 			my_fflush(stderr);