🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #2645

Re: C-Prolog Bug Fixes Wanted

#2645
From: Robert J. Drabek
Date: Tue, 14 Apr 1987 01:59
120 lines
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!robert
References: <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