Article View: comp.lang.prolog
Article #2645Re: C-Prolog Bug Fixes Wanted
From: Robert J. Drabek
Date: Tue, 14 Apr 1987 01:59
Date: Tue, 14 Apr 1987 01:59
120 lines
4642 bytes
4642 bytes
In article <4855@robin.cs.nott.ac.uk>, abc@cs.nott.ac.uk (Andy Cheese) writes:
>
> I am compiling a list of bug fixes for C-Prolog 1.5
> I would be very grateful if you have improved or altered/fixed
> it all for your improvements.
--------------------------------------------------------------------
The following changes were made to C-Prolog+ by Chris Janton to get it to
run under version 4.4 of VMS.
file MAIN.C
in initial "include" statements
change
extern int sys_nerr;
extern char *sys_errlist[];
to
#ifndef vms
extern int sys_nerr;
extern char *sys_errlist[];
#else
#include perror
#endif
approx line 1529
change y = MolP(k1)->Env; k1 = MolP(k1)->Fn;
to y = MolP(k1)->Env; k1 = SkelP(MolP(k1))->Fn;
approx line 1747
change bn = &(SkelP(FunctorP(MolP(ARG1)->Sk)->Fn)->flgsoffe);
to bn = &(FunctorP(SkelP(MolP(ARG1)->Sk)->Fn)->flgsoffe);
file SYSBITS.C
change
extern int sys_nerr, PrologEvent;
extern char *sys_errlist[];
to
#ifndef vms
extern int sys_nerr, PrologEvent;
extern char *sys_errlist[];
#else
#include perror
extern int PrologEvent;
#endif
change function ToEOL
from
char
ToEOL(reply,count)
register char *reply; int count;
{
extern FILE *freopen();
extern int isatty();
char c0, c;
/* check for eof */
if ( feof(stdin) ) {
freopen( "/dev/tty", "r", stdin );
return PlEOF;
}
while ((c0 = getchar()) <= ' ' && c0 != '\n');
c = c0;
while (c0 != '\n') {
c0 = getchar();
if (reply && --count>0) *reply++ = c0;
}
if (reply) *reply = '\0';
if (c >= 'A' && c <= 'Z') c += 'a'-'A';
return c;
}
to
char
ToEOL(reply,count)
register char *reply; int count;
{
extern FILE *freopen();
extern int isatty();
char c0, c;
/* check for eof */
/* if ( feof(stdin) ) {
/* freopen( "/dev/tty", "r", stdin );
/* return PlEOF;
/* }
*/
fclose(stdin);
stdin = fopen("SYS$COMMAND:", "r");
while ((c0 = getchar()) <= ' ' && c0 != '\n');
c = c0;
while (c0 != '\n') {
c0 = getchar();
if (reply && --count>0) *reply++ = c0;
}
if (reply) *reply = '\0';
if (c >= 'A' && c <= 'Z') c += 'a'-'A';
fclose(stdin);
stdin = fopen("SYS$COMMAND:", "r");
return c;
}
file PL.H
change
extern int errno;
to
#ifndef vms
extern int errno;
#else
extern int noshare errno;
#endif
copied times.h from Eunice distribution to current directory
--------------------------------------------------------------------
--
Robert J. Drabek
Department of Computer Science
University of Arizona
Tucson, AZ 85721
Technical Details
Message-ID:
<1636@megaron.arizona.edu>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!uwvax!oddjob!hao!noao!arizona!robertReferences:
<4855@robin.cs.nott.ac.uk>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!uwvax!oddjob!hao!noao!arizona!robert From: robert@arizona.edu (Robert J. Drabek) Newsgroups: comp.lang.prolog Subject: Re: C-Prolog Bug Fixes Wanted Message-ID: <1636@megaron.arizona.edu> Date: Mon, 13-Apr-87 20:59:49 EST Article-I.D.: megaron.1636 Posted: Mon Apr 13 20:59:49 1987 Date-Received: Sun, 19-Apr-87 04:28:15 EST References: <4855@robin.cs.nott.ac.uk> Organization: U of Arizona CS Dept, Tucson Lines: 120 Keywords: too many to mention here Summary: code fixes for vms version