From c5d0e58d0de4556a724d20cce0603593403c4554 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
Date: Fri, 21 Feb 2020 14:55:03 +0100
Subject: [PATCH] * src/ftp-ls.c (eat_carets): Fix caret decoding issue
 (Coverity #1419653)

---
 src/ftp-ls.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/ftp-ls.c b/src/ftp-ls.c
index cf0a7ee0..bb257542 100644
--- a/src/ftp-ls.c
+++ b/src/ftp-ls.c
@@ -611,27 +611,27 @@ static void eat_carets( char *str)
       if (uchr == '^')
       {
         /* Found a caret.  Skip it, and check the next character. */
-        if ((char_prop[(unsigned char) str[0]] & 64) && (char_prop[(unsigned char) str[1]] & 64))
+        if ((char_prop[(unsigned char) str[1]] & 64) && (char_prop[(unsigned char) str[2]] & 64))
         {
           /* Hex digit.  Get char code from this and next hex digit. */
           uchr = *(++str);
           if (uchr <= '9')
           {
-            hdgt = uchr- '0';           /* '0' - '9' -> 0 - 9. */
+            hdgt = uchr - '0';           /* '0' - '9' -> 0 - 9. */
           }
           else
           {
-            hdgt = ((uchr- 'A')& 7)+ 10;    /* [Aa] - [Ff] -> 10 - 15. */
+            hdgt = ((uchr - 'A') & 7) + 10;    /* [Aa] - [Ff] -> 10 - 15. */
           }
           hdgt <<= 4;                   /* X16. */
           uchr = *(++str);              /* Next char must be hex digit. */
           if (uchr <= '9')
           {
-            uchr = hdgt+ uchr- '0';
+            uchr = hdgt + uchr - '0';
           }
           else
           {
-            uchr = hdgt+ ((uchr- 'A')& 15)+ 10;
+            uchr = hdgt + ((uchr - 'A') & 15) + 10;
           }
         }
         else if (uchr == '_')