From c52eb2f9aab318b04004804cdbfd0456322520e5 Mon Sep 17 00:00:00 2001
From: Martin Stjernholm <mast@lysator.liu.se>
Date: Mon, 30 Nov 1998 10:30:49 +0100
Subject: [PATCH] Forgot to share values in diff output from diff3.

Rev: lib/modules/Array.pmod:1.23
---
 lib/modules/Array.pmod | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod
index 3e95e25aae..db3483a405 100644
--- a/lib/modules/Array.pmod
+++ b/lib/modules/Array.pmod
@@ -258,11 +258,14 @@ array(array(array)) diff3 (array a, array b, array c)
   ca[sizeof (c)] = cb[sizeof (c)] = eoa;
 
   for (int i = 0, j = 0; j < sizeof (seq_ab); i++)
-    if (a[i] == b[seq_ab[j]]) ab[i] = seq_ab[j], ba[seq_ab[j]] = i, j++;
+    if (equal (a[i], b[seq_ab[j]]))
+      a[i] = b[seq_ab[j]], ab[i] = seq_ab[j], ba[seq_ab[j]] = i, j++;
   for (int i = 0, j = 0; j < sizeof (seq_bc); i++)
-    if (b[i] == c[seq_bc[j]]) bc[i] = seq_bc[j], cb[seq_bc[j]] = i, j++;
+    if (equal (b[i], c[seq_bc[j]]))
+      b[i] = c[seq_bc[j]], bc[i] = seq_bc[j], cb[seq_bc[j]] = i, j++;
   for (int i = 0, j = 0; j < sizeof (seq_ca); i++)
-    if (c[i] == a[seq_ca[j]]) ca[i] = seq_ca[j], ac[seq_ca[j]] = i, j++;
+    if (equal (c[i], a[seq_ca[j]]))
+      c[i] = a[seq_ca[j]], ca[i] = seq_ca[j], ac[seq_ca[j]] = i, j++;
 
   array(array) ares = ({}), bres = ({}), cres = ({});
   int ai = 0, bi = 0, ci = 0;
-- 
GitLab