change error printing from errnum to errsym

When printing an error, calc used to print the errnum (error number):

    ; 1/0
	    Error 10001

Calc now prints the errsym (errsym):

    ; 1/0
	    Error E_DIVBYZERO

Added errsym E_LN_3 for ln(0).
Added errsym E_LOG_5 for log(0).
Added errsym E_LOG2_4 for log2(0).
Added errsym E_LOGN_6 for logn(0,base).
This commit is contained in:
Landon Curt Noll
2023-10-03 22:12:14 -07:00
parent db582d6e34
commit 42129a3672
22 changed files with 113 additions and 44 deletions

View File

@@ -241,10 +241,20 @@ printtype(VALUE *vp)
{
int type;
char *s;
char *errsym;
bool alloced;
type = vp->v_type;
if (type < 0) {
printf("Error %d", -type);
errsym = errnum_2_errsym(-type, &alloced);
if (errsym == NULL) {
printf("Error %d", -type);
} else {
printf("Error %s", errsym);
if (alloced == true) {
free(errsym);
}
}
return;
}
switch (type) {