diff options
author | marha <marha@users.sourceforge.net> | 2010-08-24 09:19:29 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-08-24 09:19:29 +0000 |
commit | d23cfa7fb93fc22ea11fd25d50aecb10582e32b2 (patch) | |
tree | 9d4ecabe1468173bd22c4aed9d5a132e8dfe2d03 /libX11/src/OpenDis.c | |
parent | a3f15e28f545a51f0a0139c38944ed324bafb94f (diff) | |
download | vcxsrv-d23cfa7fb93fc22ea11fd25d50aecb10582e32b2.tar.gz vcxsrv-d23cfa7fb93fc22ea11fd25d50aecb10582e32b2.tar.bz2 vcxsrv-d23cfa7fb93fc22ea11fd25d50aecb10582e32b2.zip |
libX11 git update 24/8/2010
Diffstat (limited to 'libX11/src/OpenDis.c')
-rw-r--r-- | libX11/src/OpenDis.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/libX11/src/OpenDis.c b/libX11/src/OpenDis.c index 54729e8fd..0b779b0ad 100644 --- a/libX11/src/OpenDis.c +++ b/libX11/src/OpenDis.c @@ -69,7 +69,6 @@ XOpenDisplay ( int j, k; /* random iterator indexes */
char *display_name; /* pointer to display name */
char *setup = NULL; /* memory allocated at startup */
- char *fullname = NULL; /* expanded name of display */
int iscreen; /* screen number */
xConnSetupPrefix prefix; /* prefix information */
int vendorlen; /* length of vendor string */
@@ -117,13 +116,17 @@ XOpenDisplay ( return(NULL);
}
+ if ((dpy->display_name = strdup(display_name)) == NULL) {
+ OutOfMemory(dpy);
+ return(NULL);
+ }
+
/*
* Call the Connect routine to get the transport connection object.
- * If NULL is returned, the connection failed. The connect routine
- * will set fullname to point to the expanded name.
+ * If NULL is returned, the connection failed.
*/
- if(!_XConnectXCB(dpy, display, &fullname, &iscreen)) {
+ if(!_XConnectXCB(dpy, display, &iscreen)) {
/* Try falling back on other transports if no transport specified */
const char *slash = strrchr(display_name, '/');
if(slash == NULL) {
@@ -135,14 +138,13 @@ XOpenDisplay ( if(buf) {
for(s = protocols; buf && *s; s++) {
snprintf(buf, buf_size, "%s/%s", *s, display_name);
- if(_XConnectXCB(dpy, buf, &fullname, &iscreen))
+ if(_XConnectXCB(dpy, buf, &iscreen))
goto fallback_success;
}
Xfree(buf);
}
}
- dpy->display_name = fullname;
OutOfMemory(dpy);
return NULL;
}
@@ -152,7 +154,6 @@ fallback_success: * Initialize pointers to NULL so that XFreeDisplayStructure will
* work if we run out of memory before we finish initializing.
*/
- dpy->display_name = fullname;
dpy->keysyms = (KeySym *) NULL;
dpy->modifiermap = NULL;
dpy->lock_meaning = NoSymbol;
@@ -314,7 +315,7 @@ fallback_success: if (!mask)
{
fprintf (stderr, "Xlib: connection to \"%s\" invalid setup\n",
- fullname);
+ dpy->display_name);
OutOfMemory(dpy);
return (NULL);
}
@@ -678,8 +679,7 @@ void _XFreeDisplayStructure(Display *dpy) Xfree ((char *)dpy->pixmap_format);
}
- if (dpy->display_name)
- Xfree (dpy->display_name);
+ free(dpy->display_name);
if (dpy->vendor)
Xfree (dpy->vendor);
|