SCCS-vsn: usr.bin/pascal/libpc/CTTOT.c 1.3
SCCS-vsn: usr.bin/pascal/libpc/ERROR.c 1.7
SCCS-vsn: usr.bin/pascal/libpc/PRED.c 1.3
SCCS-vsn: usr.bin/pascal/libpc/SUCC.c 1.3
/* Copyright (c) 1979 Regents of the University of California */
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)CTTOT.c 1.2 %G%";
+static char sccsid[] = "@(#)CTTOT.c 1.3 %G%";
#include "whoami.h"
#include "h00vars.h"
#include "whoami.h"
#include "h00vars.h"
for (cnt = 0; cnt < paircnt; cnt++) {
upper = *dataptr++ - lowerbnd;
if (upper < 0 || upper > upperbnd) {
for (cnt = 0; cnt < paircnt; cnt++) {
upper = *dataptr++ - lowerbnd;
if (upper < 0 || upper > upperbnd) {
- ERROR(ECTUPR, *--dataptr);
+ ERROR("Range upper bound of %D out of set bounds\n",
+ *--dataptr);
return;
}
lower = *dataptr++ - lowerbnd;
if (lower < 0 || lower > upperbnd) {
return;
}
lower = *dataptr++ - lowerbnd;
if (lower < 0 || lower > upperbnd) {
- ERROR(ECTLWR, *--dataptr);
+ ERROR("Range lower bound of %D out of set bounds\n",
+ *--dataptr);
return;
}
if (lower > upper) {
return;
}
if (lower > upper) {
for (cnt = 0, cp = (char *)result; cnt < singcnt; cnt++) {
lower = *dataptr++ - lowerbnd;
if (lower < 0 || lower > upperbnd) {
for (cnt = 0, cp = (char *)result; cnt < singcnt; cnt++) {
lower = *dataptr++ - lowerbnd;
if (lower < 0 || lower > upperbnd) {
- ERROR(ECTSNG, *--dataptr);
+ ERROR("Value of %D out of set bounds\n", *--dataptr);
return;
}
cp[ lower >> LG2BITSBYTE ] |= (1 << (lower & MSKBITSBYTE));
return;
}
cp[ lower >> LG2BITSBYTE ] |= (1 << (lower & MSKBITSBYTE));
/* Copyright (c) 1979 Regents of the University of California */
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)ERROR.c 1.6 %G%";
+static char sccsid[] = "@(#)ERROR.c 1.7 %G%";
#include <stdio.h>
#include <signal.h>
#include <stdio.h>
#include <signal.h>
* from errdata by the makefile using the editor script make.ed1.
*/
long
* from errdata by the makefile using the editor script make.ed1.
*/
long
+ERROR(msg, d1, d2, d3, d4)
+ char *msg;
+ int d1, d2, d3, d4;
+{
long longdat;
char *strngdat;
double dbldat;
} errdata;
long longdat;
char *strngdat;
double dbldat;
} errdata;
+
+ errdata.dbldat = 0.0;
+ errdata.intdat = d1;
- if (_entry[errnum].entryaddr != 0) {
- (*_entry[errnum].entryaddr)(errdata);
- return;
- }
fputc('\n',stderr);
SETRACE();
fputc('\n',stderr);
SETRACE();
case ECHR:
fprintf(stderr, "Argument to chr of %D is out of range\n"
,errdata.longdat);
case ECHR:
fprintf(stderr, "Argument to chr of %D is out of range\n"
,errdata.longdat);
case EOUTOFMEM:
fputs("Ran out of memory\n",stderr);
return(0);
case EOUTOFMEM:
fputs("Ran out of memory\n",stderr);
return(0);
- case ECTLWR:
- fprintf(stderr, "Range lower bound of %D out of set bounds\n",
- errdata.longdat);
- return(0);
- case ECTUPR:
- fprintf(stderr, "Range upper bound of %D out of set bounds\n",
- errdata.longdat);
- return(0);
- case ECTSNG:
- fprintf(stderr, "Value of %D out of set bounds\n",
- errdata.longdat);
- return(0);
case EARGV:
fprintf(stderr,"Argument to argv of %D is out of range\n"
,errdata.longdat);
case EARGV:
fprintf(stderr,"Argument to argv of %D is out of range\n"
,errdata.longdat);
errdata.longdat);
return(errdata.longdat);
default:
errdata.longdat);
return(errdata.longdat);
default:
- fputs("Panic: unknown error\n",stderr);
+ fprintf(stderr, msg, d1, d2, d3, d4);
/* Copyright (c) 1979 Regents of the University of California */
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)PRED.c 1.2 %G%";
+static char sccsid[] = "@(#)PRED.c 1.3 %G%";
long lower;
long upper;
{
long lower;
long upper;
{
+ if (value == lower) {
+ ERROR("Cannot take pred of first element of a range\n");
+ return;
+ }
value--;
if (value < lower || value > upper) {
value--;
if (value < lower || value > upper) {
+ ERROR("Value of %D is out of range\n", value);
/* Copyright (c) 1979 Regents of the University of California */
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)SUCC.c 1.2 %G%";
+static char sccsid[] = "@(#)SUCC.c 1.3 %G%";
long lower;
long upper;
{
long lower;
long upper;
{
+ if (value == upper) {
+ ERROR("Cannot take succ of last element of a range\n");
+ return;
+ }
value++;
if (value < lower || value > upper) {
value++;
if (value < lower || value > upper) {
+ ERROR("Value of %D is out of range\n", value);