aboutsummaryrefslogtreecommitdiff
path: root/gnu/chess/Xchess/std.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/chess/Xchess/std.c')
-rw-r--r--gnu/chess/Xchess/std.c425
1 files changed, 0 insertions, 425 deletions
diff --git a/gnu/chess/Xchess/std.c b/gnu/chess/Xchess/std.c
deleted file mode 100644
index f80f6914355d..000000000000
--- a/gnu/chess/Xchess/std.c
+++ /dev/null
@@ -1,425 +0,0 @@
-
-/* This file contains code for X-CHESS.
- Copyright (C) 1986 Free Software Foundation, Inc.
-
-This file is part of X-CHESS.
-
-X-CHESS is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the X-CHESS General Public
-License for full details.
-
-Everyone is granted permission to copy, modify and redistribute
-X-CHESS, but only under the conditions described in the
-X-CHESS General Public License. A copy of this license is
-supposed to have been given to you along with X-CHESS so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-and this notice must be preserved on all copies. */
-
-
-/* RCS Info: $Revision: 1.1.1.1 $ on $Date: 1993/06/12 14:41:07 $
- * $Source: /a/cvs/386BSD/src/gnu/chess/Xchess/std.c,v $
- * Copyright (c) 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
- *
- * Utility routines.
- */
-
-#include "std.h"
-
-#ifndef IBMPC
-#include <sys/types.h>
-#endif not IBMPC
-#ifdef UNIX
-#include <signal.h>
-#include <pwd.h>
-#endif UNIX
-#ifdef BSD
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif BSD
-
-extern char **environ;
-
-bool
-prefix(p, s)
- register char *p, *s;
-{
- while (*p && (*p == *s))
- p++, s++;
- if (!*p)
- return (true);
- else
- return (false);
-}
-
-/* Create a copy of a string. */
-
-char *
-copy(str)
- char *str;
-{
- char *p, *tmalloc();
-
- p = tmalloc(strlen(str) + 1);
- strcpy(p, str);
- return(p);
-}
-
-/* Determine whether sub is a substring of str. */
-
-bool
-substring(sub, str)
- register char *str, *sub;
-{
- register char *s;
-
- while(*str) {
- if(*str == *sub) {
- for(s = sub; *s; s++)
- if(*s != *str++)
- break;
- if(*s == '\0')
- return (true);
- }
- str++;
- }
- return (false);
-}
-
-/* Malloc num bytes and initialize to zero. Fatal error if the space can't
- * be malloc'd.
- */
-
-char *
-tmalloc(num)
- register int num;
-{
- register char *s;
- char *malloc();
-
- s = malloc((unsigned) num);
- if (!s) {
- fatal("malloc: can't allocate %d bytes", num);
- }
- bzero(s, num);
- return(s);
-}
-
-char *
-trealloc(ptr, num)
- char *ptr;
- int num;
-{
- register char *s;
- char *realloc();
-
- s = realloc(ptr, (unsigned) num);
- if (!s) {
- fatal("realloc: can't allocate %d bytes", num);
- }
- /* Well, this won't be zeroed... Too bad... */
- return(s);
-}
-
-/* Append one character to a string. Don't check for overflow. */
-
-void
-appendc(s, c)
- char *s, c;
-{
- while (*s)
- s++;
- *s++ = c;
- *s = '\0';
- return;
-}
-
-int
-scannum(str)
- char *str;
-{
- int i = 0;
-
- while(isdigit(*str))
- i = i * 10 + *(str++) - '0';
- return(i);
-}
-
-/* Case insensitive prefix. */
-
-bool
-ciprefix(p, s)
- register char *p, *s;
-{
- while (*p) {
- if ((isupper(*p) ? tolower(*p) : *p) !=
- (isupper(*s) ? tolower(*s) : *s))
- return(false);
- p++;
- s++;
- }
- return (true);
-}
-
-/* Case insensitive strcmp... */
-
-bool
-cieq(p, s)
- register char *p, *s;
-{
- while (*p) {
- if ((isupper(*p) ? tolower(*p) : *p) !=
- (isupper(*s) ? tolower(*s) : *s))
- return(false);
- p++;
- s++;
- }
- return (!*s);
-}
-
-#ifdef BSD
-
-/* Return the date. Return value is static data. */
-
-char *
-datestring()
-{
- register char *tzn;
- struct tm *tp;
- static char tbuf[40];
- char *ap;
- struct timeval tv;
- struct timezone tz;
- char *timezone(), *asctime();
- int i;
- struct tm *localtime();
-
- (void) gettimeofday(&tv, &tz);
- tp = localtime((time_t *) &tv.tv_sec);
- ap = asctime(tp);
- tzn = timezone(tz.tz_minuteswest, tp->tm_isdst);
- sprintf(tbuf, "%.20s", ap);
- if (tzn)
- strcat(tbuf, tzn);
- strcat(tbuf, ap + 19);
- i = strlen(tbuf);
- tbuf[i - 1] = '\0';
- return (tbuf);
-}
-
-#else BSD
-
-/* Give it a try... */
-
-char *
-datestring()
-{
- long i;
- static char buf[64];
-
- i = time(0);
- strcpy(buf, ctime(&i));
- buf[strlen(buf) - 1] = '\0'; /* Kill the nl. */
- return (buf);
-}
-
-#endif
-
-/* How many seconds have elapsed in running time. */
-
-int
-seconds()
-{
-#ifdef BSD
- struct rusage ruse;
-
- getrusage(RUSAGE_SELF, &ruse);
- return (ruse.ru_utime.tv_sec);
-#else BSD
-#endif BSD
-}
-
-/* A few things that may not exist on non-unix systems. */
-
-#ifndef BSD
-
-#ifndef index
-
-char *
-index(s, c)
- register char *s;
- register char c;
-{
- while ((*s != c) && (*s != '\0'))
- s++;
- if (*s == '\0')
- return ((char *) 0);
- else
- return (s);
-}
-
-#endif not index
-
-#ifndef rindex
-
-char *
-rindex(s, c)
- register char *s;
- register char c;
-{
- register char *t;
-
- for (t = s; *t != '\0'; t++);
- while ((*t != c) && (t != s))
- t--;
- if (t == s)
- return ((char *) 0);
- else
- return (t);
-}
-
-#endif not rindex
-
-#ifndef bcopy
-
-void
-bcopy(from, to, num)
- register char *from, *to;
- register int num;
-{
- while (num-- > 0)
- *to++ = *from++;
- return;
-}
-
-#endif not bcopy
-
-#ifndef bzero
-
-void
-bzero(ptr, num)
- register char *ptr;
- register int num;
-{
- while (num-- > 0)
- *ptr++ = '\0';
- return;
-}
-
-#endif not bzero
-
-/* This might not be around... If not then forget about sorting... */
-
-void qsort() {}
-
-#endif BSD
-
-char *
-gettok(s)
- char **s;
-{
- char buf[BSIZE];
- int i = 0;
-
- while (isspace(**s))
- (*s)++;
- if (!**s)
- return (NULL);
- while (**s && !isspace(**s))
- buf[i++] = *(*s)++;
- buf[i] = '\0';
- while (isspace(**s))
- (*s)++;
- return (copy(buf));
-}
-
-/* Die horribly. */
-
-/* VARARGS1 */
-void
-fatal(s, args)
- char *s;
-{
- fputs("Internal Error: ", stderr);
- _doprnt(s, &args, stderr);
- putc('\n', stderr);
-
- kill(getpid(), SIGIOT);
- /* NOTREACHED */
-}
-
-void
-setenv(name, value)
- char *name, *value;
-{
- int i;
- char **xx, *s;
-
- s = tmalloc(strlen(name) + 2);
- sprintf(s, "%s=", name);
-
- /* Copy the old environment... */
- for (i = 0; environ[i]; i++)
- if (prefix(s, environ[i]))
- break;
- if (!environ[i]) {
- xx = (char **) tmalloc((i + 2) * sizeof (char *));
- for (i = 0; environ[i]; i++)
- xx[i] = environ[i];
- xx[i + 1] = NULL;
- environ = xx;
- } else
- xx = environ;
-
- xx[i] = tmalloc(strlen(name) + strlen(value) + 2);
- sprintf(xx[i], "%s=%s", name, value);
- return;
-}
-
-char *
-getusername()
-{
- int i = getuid();
- struct passwd *pw = getpwuid(i);
-
- return (pw ? pw->pw_name : NULL);
-}
-
-char *
-gethome()
-{
- int i = getuid();
- struct passwd *pw = getpwuid(i);
-
- return (pw ? pw->pw_dir : "/strange");
-}
-
-char *
-tildexpand(s)
- char *s;
-{
- struct passwd *pw;
- char *n, buf[64];
- int i;
-
- if (*s != '~')
- return (copy(s));
-
- for (s++, i = 0; *s != '/'; s++, i++)
- buf[i] = *s;
- buf[i] = '\0';
- if (!i)
- pw = getpwuid(getuid());
- else
- pw = getpwnam(buf);
- if (!pw)
- return (s);
- n = tmalloc(strlen(s) + strlen(pw->pw_dir) + 1);
- strcpy(n, pw->pw_dir);
- strcat(n, s);
- return (n);
-}
-