The branch, master has been updated
       via  3625bcba24b2cfeaa2c3d1728933dcc9c04ff4bc (commit)
      from  b1a87b2ee49028f7a35bc39db47833a82cd74e38 (commit)

- Log -----------------------------------------------------------------
commit 3625bcba24b2cfeaa2c3d1728933dcc9c04ff4bc
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Commit: Nicholas Marriott <nicholas.marri...@gmail.com>

    Add osdep-cgywin.c as a copy of osdep-linux.c, from J Raynor.
---
 TODO           |    2 -
 configure.ac   |    4 ++
 osdep-cygwin.c |   88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 92 insertions(+), 2 deletions(-)

diff --git a/TODO b/TODO
index 04f192b..540a680 100644
--- a/TODO
+++ b/TODO
@@ -132,5 +132,3 @@
          binding to a command that says "next key from $othertable" and so
          on. means -n can go away as well
        * customizable command aliases
-       * get_cwd for cgywin
-
diff --git a/configure.ac b/configure.ac
index c171940..a23e3ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -501,6 +501,10 @@ case "$host_os" in
                AC_MSG_RESULT(hpux)
                PLATFORM=hpux
                ;;
+       *cygwin*)
+               AC_MSG_RESULT(cygwin)
+               PLATFORM=cygwin
+               ;;
        *)
                AC_MSG_RESULT(unknown)
                PLATFORM=unknown
diff --git a/osdep-cygwin.c b/osdep-cygwin.c
new file mode 100644
index 0000000..01d2d0c
--- /dev/null
+++ b/osdep-cygwin.c
@@ -0,0 +1,88 @@
+/* $Id$ */
+
+/*
+ * Copyright (c) 2009 Nicholas Marriott <n...@users.sourceforge.net>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <event.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "tmux.h"
+
+char *
+osdep_get_name(int fd, unused char *tty)
+{
+       FILE    *f;
+       char    *path, *buf;
+       size_t   len;
+       int      ch;
+       pid_t    pgrp;
+
+       if ((pgrp = tcgetpgrp(fd)) == -1)
+               return (NULL);
+
+       xasprintf(&path, "/proc/%lld/cmdline", (long long) pgrp);
+       if ((f = fopen(path, "r")) == NULL) {
+               free(path);
+               return (NULL);
+       }
+       free(path);
+
+       len = 0;
+       buf = NULL;
+       while ((ch = fgetc(f)) != EOF) {
+               if (ch == '\0')
+                       break;
+               buf = xrealloc(buf, 1, len + 2);
+               buf[len++] = ch;
+       }
+       if (buf != NULL)
+               buf[len] = '\0';
+
+       fclose(f);
+       return (buf);
+}
+
+char *
+osdep_get_cwd(int fd)
+{
+       static char      target[MAXPATHLEN + 1];
+       char            *path;
+       pid_t            pgrp;
+       ssize_t          n;
+
+       if ((pgrp = tcgetpgrp(fd)) == -1)
+               return (NULL);
+
+       xasprintf(&path, "/proc/%lld/cwd", (long long) pgrp);
+       n = readlink(path, target, MAXPATHLEN);
+       free(path);
+       if (n > 0) {
+               target[n] = '\0';
+               return (target);
+       }
+       return (NULL);
+}
+
+struct event_base *
+osdep_event_init(void)
+{
+       return (event_init());
+}


-----------------------------------------------------------------------

Summary of changes:
 TODO                            |    2 --
 configure.ac                    |    4 ++++
 osdep-linux.c => osdep-cygwin.c |    2 --
 3 files changed, 4 insertions(+), 4 deletions(-)
 copy osdep-linux.c => osdep-cygwin.c (95%)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
tmux-cvs mailing list
tmux-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to