aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/nxauth/parsedpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/nxauth/parsedpy.c')
-rw-r--r--nx-X11/programs/nxauth/parsedpy.c259
1 files changed, 0 insertions, 259 deletions
diff --git a/nx-X11/programs/nxauth/parsedpy.c b/nx-X11/programs/nxauth/parsedpy.c
deleted file mode 100644
index d0f022574..000000000
--- a/nx-X11/programs/nxauth/parsedpy.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * $Xorg: parsedpy.c,v 1.4 2001/02/09 02:05:38 xorgcvs Exp $
- *
- * parse_displayname - utility routine for splitting up display name strings
- *
- *
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
- * *
- * Author: Jim Fulton, MIT X Consortium
- */
-
-/* $XFree86: xc/programs/xauth/parsedpy.c,v 3.6 2001/12/14 20:01:15 dawes Exp $ */
-/**************************************************************************/
-/* */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */
-/* */
-/* NXAUTH, NX protocol compression and NX extensions to this software */
-/* are copyright of NoMachine. Redistribution and use of the present */
-/* software is allowed according to terms specified in the file LICENSE */
-/* which comes in the source distribution. */
-/* */
-/* Check http://www.nomachine.com/licensing.html for applicability. */
-/* */
-/* NX and NoMachine are trademarks of Medialogic S.p.A. */
-/* */
-/* All rights reserved. */
-/* */
-/**************************************************************************/
-
-#include <stdio.h> /* for NULL */
-#include <ctype.h> /* for isascii() and isdigit() */
-#include <nx-X11/Xos.h> /* for strchr() and string routines */
-#include <nx-X11/Xlib.h> /* for Family contants */
-#ifdef hpux
-#include <sys/utsname.h> /* for struct utsname */
-#endif
-#include <nx-X11/Xauth.h> /* for FamilyLocal */
-
-#if defined(UNIXCONN) || defined(LOCALCONN)
-#define UNIX_CONNECTION "unix"
-#define UNIX_CONNECTION_LENGTH 4
-#endif
-
-#include <stdlib.h>
-#include "xauth.h"
-
-#define PANIC
-#define WARNING
-#undef TEST
-#undef DEBUG
-
-/*
- * private utility routines
- */
-
-char *
-copystring (char *src, int len)
-{
- char *cp;
-
- if (!src && len != 0) return NULL;
- cp = malloc (len + 1);
- if (cp) {
- if (src) strncpy (cp, src, len);
- cp[len] = '\0';
- }
- return cp;
-}
-
-
-char *
-get_local_hostname (char *buf, int maxlen)
-{
- buf[0] = '\0';
-/*
- (void) XmuGetHostname (buf, maxlen);
-*/
- /*FIXME*/
-
- (void) gethostname (buf, maxlen);
-
- buf [maxlen - 1] = '\0';
-
- #ifdef TEST
- printf("get_local_hostname: Host name is %s", buf);
- #endif
-
- return (buf[0] ? buf : NULL);
-}
-
-#ifndef UNIXCONN
-static char *
-copyhostname (void)
-{
- char buf[256];
-
- return (get_local_hostname (buf, sizeof buf) ?
- copystring (buf, strlen (buf)) : NULL);
-}
-#endif
-
-/*
- * parse_displayname - display a display string up into its component parts
- */
-Bool
-parse_displayname (char *displayname,
- int *familyp, /* return */
- char **hostp, /* return */
- int *dpynump, /* return */
- int *scrnump, /* return */
- char **restp) /* return */
-{
- char *ptr; /* work variables */
- int len; /* work variable */
- int family = -1; /* value to be returned */
- char *host = NULL; /* must free if set and error return */
- int dpynum = -1; /* value to be returned */
- int scrnum = 0; /* value to be returned */
- char *rest = NULL; /* must free if set and error return */
- Bool dnet = False; /* if true then using DECnet */
-
- /* check the name */
- if (!displayname || !displayname[0]) return False;
-
- /* must have at least :number */
- ptr = strchr(displayname, ':');
- if (!ptr || !ptr[1]) return False;
- if (ptr[1] == ':') {
- if (ptr[2] == '\0') return False;
- dnet = True;
- }
-
-
- /*
- * get the host string; if none is given, use the most effiecient path
- */
-
- len = (ptr - displayname); /* length of host name */
- if (len == 0) { /* choose most efficient path */
-#if defined(UNIXCONN) || defined(LOCALCONN)
- host = copystring (UNIX_CONNECTION, UNIX_CONNECTION_LENGTH);
- family = FamilyLocal;
-#else
- if (dnet) {
- host = copystring ("0", 1);
- family = FamilyDECnet;
- } else {
- host = copyhostname ();
- family = FamilyInternet;
- }
-#endif
- } else {
- host = copystring (displayname, len);
- if (dnet) {
- family = dnet;
- } else {
-#if defined(UNIXCONN) || defined(LOCALCONN)
- if (host && strcmp (host, UNIX_CONNECTION) == 0)
- family = FamilyLocal;
- else
-#endif
- family = FamilyInternet;
- }
- }
-
- if (!host) return False;
-
-
- /*
- * get the display number; we know that there is something after the
- * colon (or colons) from above. note that host is now set and must
- * be freed if there is an error.
- */
-
- if (dnet) ptr++; /* skip the extra DECnet colon */
- ptr++; /* move to start of display num */
- {
- register char *cp;
-
- for (cp = ptr; *cp && isascii(*cp) && isdigit(*cp); cp++) ;
- len = (cp - ptr);
- /* check present and valid follow */
- if (len == 0 || (*cp && *cp != '.')) {
- free (host);
- return False;
- }
-
- dpynum = atoi (ptr); /* it will handle num. as well */
- ptr = cp;
- }
-
- /*
- * now get screen number if given; ptr may point to nul at this point
- */
- if (ptr[0] == '.') {
- register char *cp;
-
- ptr++;
- for (cp = ptr; *cp && isascii(*cp) && isdigit(*cp); cp++) ;
- len = (cp - ptr);
- if (len == 0 || (*cp && *cp != '.')) { /* all prop name */
- free (host);
- return False;
- }
-
- scrnum = atoi (ptr); /* it will handle num. as well */
- ptr = cp;
- }
-
- /*
- * and finally, get any additional stuff that might be following the
- * the screen number; ptr must point to a period if there is anything
- */
-
- if (ptr[0] == '.') {
- ptr++;
- len = strlen (ptr);
- if (len > 0) {
- rest = copystring (ptr, len);
- if (!rest) {
- free (host);
- return False;
- }
- }
- }
-
- /*
- * and we are done!
- */
-
- *familyp = family;
- *hostp = host;
- *dpynump = dpynum;
- *scrnump = scrnum;
- *restp = rest;
- return True;
-}
-
-