Initial commit of GSSAPI Kerberos support.
[u/mdw/putty] / x11fwd.c
index 13c6823..4621ac9 100644 (file)
--- a/x11fwd.c
+++ b/x11fwd.c
@@ -245,7 +245,7 @@ char *x11_display(const char *display) {
     char *ret;
     if(!display || !*display) {
        /* try to find platform-specific local display */
-       if((ret = platform_get_x_display())==0)
+       if((ret = platform_get_x_display())==0 || !*ret)
            /* plausible default for all platforms */
            ret = dupstr(":0");
     } else
@@ -301,9 +301,9 @@ const char *x11_init(Socket * s, char *display, void *c, void *auth,
     host[n] = '\0';
     sfree(display);
     
-    if(!strcmp(host, "unix")) {
+    if(!strcmp(host, "unix") || host[0] == '/') {
        /* use AF_UNIX sockets (doesn't make sense on all platforms) */
-       addr = platform_get_x11_unix_address(displaynum,
+       addr = platform_get_x11_unix_address(display, displaynum,
                                             &dummy_realhost);
        port = 0;               /* to show we are not confused */
     } else {
@@ -485,7 +485,7 @@ int x11_send(Socket s, char *data, int len)
             char realauthdata[64];
             int realauthlen = 0;
             int authstrlen = strlen(x11_authnames[pr->auth->realproto]);
-           int buflen;
+           int buflen = 0;            /* initialise to placate optimiser */
             static const char zeroes[4] = { 0,0,0,0 };
            void *buf;