shithub: riscv

Download patch

ref: 108d74cb0a8d27e82550d2772ae64fd7748e151d
parent: 9d43029ff984435111eff658308a44b4f3eee1cc
author: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
date: Fri Jan 7 05:37:02 EST 2022

cmd/sshfs.c (recvproc): prefer error codes over error strings

Strings for existing codes in the most used server (OpenSSH) just
repeat the error code name.  OTOH we like to have wording of the
strings under our control as much as possible, so we can easier find
and process them.  Error strings are still usefull as fallback for
compatibility with future versions of the server.

--- a/sys/src/cmd/sshfs.c
+++ b/sys/src/cmd/sshfs.c
@@ -1144,12 +1144,14 @@
 				}
 				r->req->ofcall.count = 0;
 				e = nil;
-			}else if(msgn > 0){
-				e = msg;
-				e[msgn] = 0;
+			/* prefer our well-defined error strings to arbitrary
+			 * strings from the server */
 			}else if(code < nelem(errors))
 				e = errors[code];
-			else{
+			else if(msgn > 0){
+				e = msg;
+				e[msgn] = 0;
+			}else{
 				snprint(ebuf, sizeof(ebuf), "error code %d", code);
 				e = ebuf;
 			}