From cc12d0bdd44bbbc8a35a7d2e3eac7ac2795cf418 Mon Sep 17 00:00:00 2001
From: Matthew Fernandez <matthew.fernandez@gmail.com>
Date: Sun, 7 Aug 2022 10:10:43 -0700
Subject: [PATCH] expr: remove now unused 'disc' parameter to
 'Exdisc_t.stringof'

---
 lib/expr/exeval.c  | 2 +-
 lib/expr/exgram.h  | 4 ++--
 lib/expr/expr.h    | 2 +-
 lib/gvpr/compile.c | 3 +--
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/expr/exeval.c b/lib/expr/exeval.c
index 5d0590c9d..ece5423fa 100644
--- a/lib/expr/exeval.c
+++ b/lib/expr/exeval.c
@@ -1099,7 +1099,7 @@ xPrint(Expr_t * ex, Exnode_t * expr, Extype_t v, Exnode_t * tmp)
 {
 	*tmp = *expr->data.operand.left;
 	tmp->data.constant.value = v;
-	if (ex->disc->stringof(ex, tmp, 0, ex->disc))
+	if (ex->disc->stringof(ex, tmp, 0))
 	exerror("%s: no string representation of %s value",
 		expr->data.operand.left->data.variable.symbol->name,
 		extypename(ex, expr->data.operand.left->type));
diff --git a/lib/expr/exgram.h b/lib/expr/exgram.h
index ea05255de..8f3e24202 100644
--- a/lib/expr/exgram.h
+++ b/lib/expr/exgram.h
@@ -304,7 +304,7 @@ static Exnode_t *exstringOf(Expr_t * p, Exnode_t * x) {
 	    exerror("cannot convert %s to STRING", extypename(p, type));
 	if (x->op != CONSTANT) {
 	    if (!BUILTIN(type)) {
-		if (p->disc->stringof(p, x, 1, p->disc) < 0) {
+		if (p->disc->stringof(p, x, 1) < 0) {
 		    exerror("cannot convert %s to STRING",
 			    extypename(p, type));
 		}
@@ -320,7 +320,7 @@ static Exnode_t *exstringOf(Expr_t * p, Exnode_t * x) {
 		}
 	    x = exnewnode(p, cvt, 0, STRING, x, 0);
 	} else if (!BUILTIN(type)) {
-	    if (p->disc->stringof(p, x, 0, p->disc) < 0)
+	    if (p->disc->stringof(p, x, 0) < 0)
 		exerror("cannot convert constant %s to STRING",
 			extypename(p, x->type));
 	} else
diff --git a/lib/expr/expr.h b/lib/expr/expr.h
index ddadb0a8f..607e7acf8 100644
--- a/lib/expr/expr.h
+++ b/lib/expr/expr.h
@@ -208,7 +208,7 @@ struct Exdisc_s				/* discipline			*/
 					/* binary operator function     */
 	char*		(*typename) (int);
 					/* application type names       */
-	int		(*stringof) (Expr_t *, Exnode_t *, int, Exdisc_t *);
+	int		(*stringof) (Expr_t *, Exnode_t *, int);
 					/* value to string conversion   */
 	Extype_t	(*keyf) (Extype_t, int);
 					/* dictionary key for external type objects     */
diff --git a/lib/gvpr/compile.c b/lib/gvpr/compile.c
index 7058c368a..2c35bca0e 100644
--- a/lib/gvpr/compile.c
+++ b/lib/gvpr/compile.c
@@ -2094,8 +2094,7 @@ static char *tvtypeToStr(long long v) {
  * Return -1 if conversion cannot be done, 0 otherwise.
  * If arg is > 0, conversion unnecessary; just report possibility.
  */
-static int stringOf(Expr_t * prog, Exnode_t * x, int arg, Exdisc_t* disc)
-{
+static int stringOf(Expr_t *prog, Exnode_t *x, int arg) {
     Agobj_t *objp;
     int rv = 0;
 
-- 
2.40.0