- (tim) [regress/agent.sh regress/agent-ptrace.sh] Assign $? to a variable
   when used as an error message inside an if statement so we display the
   correct into. agent.sh patch from Petr Lautrbach.
diff --git a/regress/agent.sh b/regress/agent.sh
index 90bad15..cf1a45f 100644
--- a/regress/agent.sh
+++ b/regress/agent.sh
@@ -34,40 +34,46 @@
 		fi
 	done
 	${SSHADD} -l > /dev/null 2>&1
-	if [ $? -ne 0 ]; then
-		fail "ssh-add -l failed: exit code $?"
+	r=$?
+	if [ $r -ne 0 ]; then
+		fail "ssh-add -l failed: exit code $r"
 	fi
 	# the same for full pubkey output
 	${SSHADD} -L > /dev/null 2>&1
-	if [ $? -ne 0 ]; then
-		fail "ssh-add -L failed: exit code $?"
+	r=$?
+	if [ $r -ne 0 ]; then
+		fail "ssh-add -L failed: exit code $r"
 	fi
 
 	trace "simple connect via agent"
 	for p in 1 2; do
 		${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p
-		if [ $? -ne 5$p ]; then
-			fail "ssh connect with protocol $p failed (exit code $?)"
+		r=$?
+		if [ $r -ne 5$p ]; then
+			fail "ssh connect with protocol $p failed (exit code $r)"
 		fi
 	done
 
 	trace "agent forwarding"
 	for p in 1 2; do
 		${SSH} -A -$p -F $OBJ/ssh_proxy somehost ${SSHADD} -l > /dev/null 2>&1
-		if [ $? -ne 0 ]; then
-			fail "ssh-add -l via agent fwd proto $p failed (exit code $?)"
+		r=$?
+		if [ $r -ne 0 ]; then
+			fail "ssh-add -l via agent fwd proto $p failed (exit code $r)"
 		fi
 		${SSH} -A -$p -F $OBJ/ssh_proxy somehost \
 			"${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p"
-		if [ $? -ne 5$p ]; then
-			fail "agent fwd proto $p failed (exit code $?)"
+		r=$?
+		if [ $r -ne 5$p ]; then
+			fail "agent fwd proto $p failed (exit code $r)"
 		fi
 	done
 
 	trace "delete all agent keys"
 	${SSHADD} -D > /dev/null 2>&1
-	if [ $? -ne 0 ]; then
-		fail "ssh-add -D failed: exit code $?"
+	r=$?
+	if [ $r -ne 0 ]; then
+		fail "ssh-add -D failed: exit code $r"
 	fi
 
 	trace "kill agent"