Return to BSD News archive
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!uwm.edu!caen!sol.ctr.columbia.edu!hamblin.math.byu.edu!news.byu.edu!ux1!fcom.cc.utah.edu!cs.weber.edu!terry
From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: PATCHKIT/GAMES/LIBCOMPAT
Message-ID: <1992Oct13.200936.22262@fcom.cc.utah.edu>
Sender: news@fcom.cc.utah.edu
Reply-To: terry@icarus.weber.edu
Organization: Weber State University (Ogden, UT)
Date: Tue, 13 Oct 92 20:09:36 GMT
Lines: 165
>I just installed your patchkit, and everything went very well, but I
>have a question. One of the patches states that all games should
>compile, but almost all of them complain that I am missing libcompat.
>When I look at the list of files, there is no libcompat.a there, so I am
>wondering if I am missing something. I have the full bin01, etc01, and
>src01 installed. The only thing I see that might be close is a
>directory of files called compat-43, which it looks like is part of
>libc. So, my question is, am I missing something, or should I just
>create a dummy libcompat.a, so the compiler has something to open?
I messed up on this. I should have included my libcompat.a; I am going
to be making a patch for it as soon as I get re_comp and re_exec working.
Meanwhile, for the games, libcompat.a should probably contain the following
files:
sgtty.c=============================================================
/* 29 Sep 92*/
/*
* sgtty.c
*
* Part of the compatability library.
*
* This module defines gtty() and stty() as functions.
*
* 29 Sep 92 Terry Lambert Original
*/
#define USE_OLD_TTY /* Magic incantation*/
#include <sys/ioctl.h>
int
gtty( fd, argp)
int fd;
char *argp;
{
return( ioctl( fd, TIOCSETP, argp));
}
int
stty( fd, argp)
int fd;
char *argp;
{
return( ioctl( fd, TIOCGETP, argp));
}
/*
* EOF -- This file has not been truncated
*/
strdup.c==============================================================
/*
* Copyright (c) 1988 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)strdup.c 5.4 (Berkeley) 2/24/91";
#endif /* LIBC_SCCS and not lint */
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
char *
strdup(str)
const char *str;
{
int len;
char *copy;
len = strlen(str) + 1;
if (!(copy = malloc((u_int)len)))
return((char *)NULL);
bcopy(str, copy, len);
return(copy);
}
strtod.c==================================================================
/* 19 Sep 92*/
/*
* strtod.c
*
* A quick-and-dirty strtod() function, using the scanf internal routines.
*
* 19 Sep 92 Peng-Toh Sim Original
*
* Peng-Toh Sim = sim@cory.Berkeley.EDU
*/
#include <stdio.h>
#include <string.h>
/* ARGSUSED */
static int
eofread(cookie, buf, len)
void *cookie;
char *buf;
int len;
{
return (0);
}
double strtod(const char *str, char **endp)
{
int ret;
FILE f;
double val;
int l;
f._flags = __SRD;
f._bf._base = f._p = (unsigned char *)str;
f._bf._size = f._r = l = strlen(str);
f._read = eofread;
f._ub._base = NULL;
f._lb._base = NULL;
ret = fscanf(&f, "%lg", &val);
if (ret == 0) {
*endp = (char *) str;
return 0.0;
}
*endp = (char *) &(str[l - f._r]);
return val;
}
/*
* EOF -- This file has not been truncated.
*/
==========================================================================
Regards,
Terry
--
-------------------------------------------------------------------------------
"I have an 8 user poetic license" - me
Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
-------------------------------------------------------------------------------