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
|
Description: Platform-specific fixes
* Define MAXPATHLEN, PATH_MAX, MAXHOSTNAMELEN, MAX_IOV for Hurd.
* Add workaround for broken GNU/kFreeBSD system headers.
Author: Karl Ferdinand Ebert <kfebert@gmail.com>
Author: Romain Francoise <rfrancoise@debian.org>
Author: James Clarke <jrtc27@debian.org>
Bug-Debian: http://bugs.debian.org/609333
Forwarded: not-needed
--- a/compat.h
+++ b/compat.h
@@ -21,6 +21,20 @@
#include <sys/ioctl.h>
#include <sys/uio.h>
+/*
+ * Shouldn't be needed, but GNU/kFreeBSD headers are currently slightly broken.
+ * The glibc limits.h eventually includes the FreeBSD limits-related headers,
+ * which don't define a TTY_NAME_MAX. However, anything (in)directly including
+ * the glibc sys/param.h will include the glibc bits/param.h, which defines
+ * TTY_NAME_MAX as SPECNAMELEN, i.e. 63, which differs from our fallback of 32.
+ * Thus, without this hack, different source files can (and do) end up with
+ * different values for TTY_NAME_MAX, which among other things affects the
+ * layout of struct window_pane due to the tty buffer.
+ */
+#ifdef __FreeBSD_kernel__
+#include <sys/param.h>
+#endif
+
#include <fnmatch.h>
#include <limits.h>
#include <stdio.h>
@@ -246,6 +260,22 @@
int getdtablecount(void);
#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
+
+#ifndef IOV_MAX
+#define IOV_MAX 1024
+#endif
+
#ifndef HAVE_CLOSEFROM
/* closefrom.c */
void closefrom(int);
|