patch 8.0.0987: terminal: second byte of double-byte char wrong

Problem:    terminal: second byte of double-byte char wrong
Solution:   Set the second byte to NUL only for utf-8 and non-multibyte.
diff --git a/src/terminal.c b/src/terminal.c
index 3ee50e4..1baad7b 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2130,7 +2130,7 @@
 						       (char*)mb, 2, 0, 0) > 1)
 			{
 			    ScreenLines[off] = mb[0];
-			    ScreenLines[off+1] = mb[1];
+			    ScreenLines[off + 1] = mb[1];
 			    cell.width = mb_ptr2cells(mb);
 			}
 			else
@@ -2148,8 +2148,12 @@
 		{
 		    if (enc_utf8)
 			ScreenLinesUC[off] = NUL;
-		    else if (!has_mbyte)
+
+		    /* don't set the second byte to NUL for a DBCS encoding, it
+		     * has been set above */
+		    if (enc_utf8 || !has_mbyte)
 			ScreenLines[off] = NUL;
+
 		    ++pos.col;
 		    ++off;
 		}
diff --git a/src/version.c b/src/version.c
index 6baf62b..6d2de86 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    987,
+/**/
     986,
 /**/
     985,