Commit Graph

144 Commits (master)

Author SHA1 Message Date
Nicholas Marriott 7b085136a7 -sys/queue.h in proc.c, and nuke the unnecessary C++ header guards stuff and
sys/cdefs.h in vis.h (it causes problems on some platforms). Reported by
someone on GitHub, issue 212.
2015-11-24 18:48:07 +00:00
Nicholas Marriott 2c482939fd Move tmux.h below system includes. 2015-11-21 08:03:18 +00:00
Nicholas Marriott a77960c540 Add reallocarray to compat. 2015-11-18 12:54:29 +00:00
Nicholas Marriott f199fb6a2b Fix available_fds when there is no AF_INET, reported by Mathieu Arnold. 2015-10-15 09:24:25 +01:00
Nicholas Marriott 2ebef95994 Sync up vis.* for stravis(). 2015-09-01 21:08:19 +01:00
Nicholas Marriott 669059aa19 Fix a warning, from Kosta Zertsekel. 2015-07-24 09:06:15 +01:00
Nicholas Marriott 8c96e2a6d9 Implement osdep_get_name and osdep_get_cwd for AIX, from J Raynor. 2015-07-15 08:46:35 +01:00
Nicholas Marriott 235e0bd65a Update imsg*.[ch] from OpenBSD, including bzero->memset. 2015-07-12 19:46:58 +01:00
Nicholas Marriott dca084e703 Don't leak dotfd if fchdir fails. From ettl dot martin78 at gmail dot com. 2015-06-10 15:39:23 +01:00
Nicholas Marriott 63b7a031a5 queue.h should come from compat.h. 2015-05-07 11:43:52 +01:00
Nicholas Marriott 5e956f1148 Make place const to avoid a warning, from Ben Boeckel. 2015-03-31 09:26:37 +01:00
Nicholas Marriott 3771ab7c67 Add missing va_end, from Thomas Jarosch. 2014-12-15 09:23:34 +00:00
Nicholas Marriott 747cab4281 No need for $Id$ now. 2014-11-08 12:27:43 +00:00
Nicholas Marriott 5e7f1b9f0a Don't close random file descriptor on error, from J Raynor. 2014-09-25 10:53:29 +01:00
Nicholas Marriott 16670410ca I broke last change, fix so it works, from J Raynor. 2014-09-23 10:50:11 +01:00
Nicholas Marriott 054a825ee2 cdefs.h -> types.h. 2014-09-23 10:46:46 +01:00
Nicholas Marriott 4d53fd98a6 Synchronize forkpty master and child to avoid hang on AIX with fast exiting
child and output left in the queue, from J Raynor.
2014-09-22 14:07:00 +01:00
Thomas Adam 72797074f3 Add compat/fparseln.c 2014-08-09 21:16:21 +01:00
Thomas Adam 0e23ab4cce Sync libutil from OpenBSD (imsg)
Changes in the imsg API need to be reflected here as tmux wasn't creating
any clients because of it.
2014-08-09 20:32:01 +01:00
Nicholas Marriott e588ddb5d6 Add openat() to compat. 2013-10-10 10:27:23 +01:00
Nicholas Marriott 1099442c0a +strings.h in compat/. 2013-06-25 09:57:49 +01:00
Nicholas Marriott 792e2856c9 Add compat for cfmakeraw, from Dagobert Michelsen. 2013-04-22 09:44:15 +01:00
Nicholas Marriott 0f31d231db Return error for --foo when using compat/getopt.c. 2013-02-12 20:36:22 +00:00
Tiago Cunha 7a583b1e54 Sync with OpenBSD. Mostly because of the added _SAFE macros which is
needed by an upcoming change.
2012-07-12 20:59:39 +00:00
Tiago Cunha 513bd8f62d Remove remaining xfree calls from the portable version. 2012-07-11 19:50:46 +00:00
Tiago Cunha b74b875f25 Sync OpenBSD tree.h due to patchset 1104.
Prompted by ore on #tmux.
2012-05-03 20:39:42 +00:00
Nicholas Marriott 82f4db0d10 ANSIfy function prototypes, from Tim Ruehsen. 2012-03-02 11:23:51 +00:00
Nicholas Marriott e9ebdac3dd Can't use the same va_list twice, from Emanuele Giaquinta. 2011-07-25 09:56:43 +00:00
Nicholas Marriott 20134fa9f4 Compatibility for b64_ntop, missing from some alternative libc. 2011-07-22 10:49:33 +00:00
Tiago Cunha 391f1f08c0 Expand the Id keyword. 2011-07-09 09:42:33 +00:00
Tiago Cunha 8357a55d76 Add missing $Id$. 2011-07-09 09:34:04 +00:00
Nicholas Marriott 34bb013b92 Use the right asprintf since we don't support truly broken platforms right now. 2011-03-04 23:39:41 +00:00
Nicholas Marriott 38f169113e Support for HP-UX. 2011-01-21 20:35:20 +00:00
Nicholas Marriott e34c6fd187 Only have one asprintf implementation, that's likely to always work. 2011-01-21 20:03:18 +00:00
Nicholas Marriott abd1f615b2 Trim spaces. 2011-01-10 22:45:10 +00:00
Nicholas Marriott b463d3de54 Missing HAVE_STDINT_H. 2011-01-07 00:35:13 +00:00
Nicholas Marriott 30e8ed393e Whoops, get the logic the right way round. 2010-11-13 16:29:05 +00:00
Nicholas Marriott 94c2adf499 malloc(0) may return NULL, so only assume that is an error if allocating
more than zero.
2010-11-11 20:41:08 +00:00
Nicholas Marriott 2287ec7b3e Compat for closefrom(). 2010-10-27 20:21:01 +00:00
Tiago Cunha 83447580b1 Remove redundant preprocessor check (it's already taken care of by tmux.h). 2010-10-24 01:55:21 +00:00
Tiago Cunha bebfd7c2c8 Sync OpenBSD patchset 706:
Rename some imsg bits to make namespace collisions less likely buf to
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE.
2010-06-06 00:08:28 +00:00
Nicholas Marriott 89eb95265a Must allocate for putenv. 2010-06-05 18:20:48 +00:00
Nicholas Marriott 278effd7ea Solaris 9 doesn't have setenv and unsetenv so add compat versions, based
on code from Dagobert Michelsen.
2010-05-19 21:31:39 +00:00
Tiago Cunha 0646b3caf2 Sync OpenBSD patchset 680:
Remove XXX comment and just close received fd if calloc() fails.

If this happens the imsg may no longer be usable as there may be queued
messages, but this is a) already the case with the code now, and b)
would be the case if recvmsg() fails anyway, so we can document that -1
from imsg_read() invalidates the struct imsgbuf.

discussed with and ok eric
2010-04-12 21:45:18 +00:00
Tiago Cunha e41055c5aa Adjust recent libevent changes to the portable version. 2009-11-08 22:51:34 +00:00
Nicholas Marriott 0614ca434a Fill in the tty name in SunOS's forkpty compat, and use it in osdep_getname.
From Todd Carson.

Tweaked by me to nuke (void) casts. Say no to lint appeasement! ;-)
2009-10-15 07:11:25 +00:00
Nicholas Marriott b29d4affd8 Don't try to use tio if it is NULL. 2009-09-20 18:31:16 +00:00
Nicholas Marriott 15b643fc11 Sync from OpenBSD:
==
Rather than constructing an entire termios struct from ttydefaults.h, just let
forkpty do it and then alter the bits that should be changed after fork. A
little neater and more portable.
==

This should fix problems caused by glibc's broken ttydefaults.h file.
2009-09-16 12:36:28 +00:00
Tiago Cunha 150fba5ecd Sync OpenBSD patchset 329:
Enclose repeated buffer draining code in a new msgbuf_drain()
function, which is additionally exported for use by others.

From nicm@, who reminded me that tmux is now using buffer.c, too.
2009-09-15 23:59:40 +00:00
Nicholas Marriott dd9dd142c9 Add $Id$, nuke queue.h. 2009-08-20 12:54:08 +00:00
Nicholas Marriott 61c7bfc128 Also undef CTRL. 2009-08-20 12:38:37 +00:00
Nicholas Marriott 14eb6df45e Solaris defines some of these in termios.h so #ifndef them. 2009-08-20 12:27:58 +00:00
Nicholas Marriott 09cc530299 Solaris and AIX have no ttydefaults.h. 2009-08-20 05:34:58 +00:00
Nicholas Marriott 966818c23d Call tcsetattr(). Not tested. 2009-08-19 16:06:45 +00:00
Nicholas Marriott 8f9858ba2f Solaris has no strsep(3). 2009-08-16 16:15:53 +00:00
Tiago Cunha b402cef338 Adjust imsg changes to the portable version due to OpenBSD patchset 243. 2009-08-14 21:13:48 +00:00
Tiago Cunha a9b6bfdddd Sync OpenBSD patchset 243:
Switch tmux to use imsg. This is the last major change to make the
client-server protocol more resilient and make the protocol versioning work
properly. In future, the only things requiring a protocol version bump will be
changes in the message structs, and (when both client and server have this
change) mixing different versions should nicely report an error message.

As a side effect this also makes the code tidier, fixes a problem with the way
errors reported during server startup were handled, and supports fd passing
(which will be used in future).

Looked over by eric@, thanks.

Please note that mixing a client with this change with an older server or vice
versa may cause tmux to crash or hang - tmux should be completely exited before
upgrading.
2009-08-14 21:04:04 +00:00
Nicholas Marriott 7dbabe84e4 Missing options are not illegal. 2009-08-09 18:35:38 +00:00
Tiago Cunha e098f7b285 Add unvis(3) compat stuff. 2009-08-09 15:39:41 +00:00
Nicholas Marriott 1f1623e04d Solaris has no strcasestr. 2009-07-02 07:31:02 +00:00
Nicholas Marriott 3c0500f282 Don't see a reason for sys/cdefs.h here; remove it. 2009-07-01 23:22:46 +00:00
Nicholas Marriott 32312e0252 vis compat stuff. 2009-06-25 20:27:32 +00:00
Nicholas Marriott 802e129fd7 Start of portability update: bitstring.h. 2009-06-25 17:02:59 +00:00
Nicholas Marriott 3a55871d04 Now in base. 2009-05-26 18:31:10 +00:00
Nicholas Marriott c495337e76 HAVE_. 2009-05-14 07:51:51 +00:00
Nicholas Marriott 6c27e434c6 compat/bsd-poll.h now we are not doing -Icompat. 2009-05-13 23:50:42 +00:00
Nicholas Marriott c8cf438d44 Rename all feature flags to HAVE_* and move out of makefiles into a configure
script which must be run before building.

Still two makefiles but they are a hell of a lot simpler.

HAVE_* also will make it easier to move to $buildsystem if necessary later.
2009-05-13 23:27:00 +00:00
Nicholas Marriott e1b4a37722 Bye-bye nonworking IRIX, can be rescued from the attic if ever needed again. 2009-05-13 22:26:11 +00:00
Nicholas Marriott 792aeb926e Use getopt.c from openssh rather than OpenBSD's getopt_long. 2009-05-13 22:20:48 +00:00
Nicholas Marriott ce989a91d1 /* $Id$ */ 2009-04-29 22:45:32 +00:00
Nicholas Marriott cc9cc1aea8 Some tweaks for Solaris.
Get rid of vis.* in favour of a small replacement function.
2009-04-29 22:25:20 +00:00
Nicholas Marriott b38f6608c7 Fake warnx(). 2009-04-02 19:48:01 +00:00
Nicholas Marriott d13add828a More AIX tweaks. 2009-03-31 22:08:45 +00:00
Nicholas Marriott 8c36db6e93 AIX forkpty. 2009-03-31 21:23:18 +00:00
Nicholas Marriott 792b28ec3e Most of AIX support. 2009-03-31 21:22:10 +00:00
Nicholas Marriott 934e6d9413 vis functions for Linux. 2009-01-10 12:52:57 +00:00
Nicholas Marriott a1b43faa43 Trim spaces. 2009-01-10 01:51:22 +00:00
Nicholas Marriott 5c3d973a4a Import OpenBSD's getopt(3) to workaround broken glibc version. 2008-12-10 20:25:42 +00:00
Nicholas Marriott 62457bce0b Trim. 2008-09-26 06:45:28 +00:00
Nicholas Marriott 33aa931541 Support OS X by moving to gettimeofday(2) and adding poll compat from OpenSSH. 2008-08-28 17:45:30 +00:00
Nicholas Marriott bd1a705bbe 0.4 released. 2008-07-01 05:43:01 +00:00
Nicholas Marriott e704d6aee2 IRIX fixes, sort of partly work. 2008-06-23 21:54:48 +00:00
Nicholas Marriott 91f3165b2d IRIX fixes thanks to Elias Pipping. 2008-06-23 16:58:49 +00:00
Nicholas Marriott 09a6b8d9c8 timespecadd, fgetln headers. 2008-06-22 22:20:07 +00:00
Nicholas Marriott a52be0e194 More missing bits from Solaris. 2008-06-22 21:52:41 +00:00
Nicholas Marriott 99df48d70f Trimify. 2008-06-18 22:21:51 +00:00
Nicholas Marriott e9fc383256 O_NOCTTY. 2008-06-18 22:00:49 +00:00
Nicholas Marriott 085d68bcc2 Solaris bits. 2008-06-18 21:14:42 +00:00
Nicholas Marriott b7cefe4b6e NO_ASPRINTF. 2008-06-18 20:12:19 +00:00
Nicholas Marriott be53d7f298 More Sun OS crap. 2008-06-18 20:11:25 +00:00
Nicholas Marriott 0d5ad358ae forkpty for Sun OS. 2008-06-18 19:52:29 +00:00
Nicholas Marriott fed1a3ba8a compat/daemon.c 2008-06-18 19:36:27 +00:00
Nicholas Marriott 85d520c41e tree.h has RB_PREV now, yay! 2008-06-03 18:38:51 +00:00
Nicholas Marriott 08d9f46aae Make it build/run on Linux. 2007-10-31 14:26:26 +00:00