patch 8.0.0225: put in Visual block mode terminates early

Problem:    When a block is visually selected and put is used on the end of
            the selection only one line is changed.
Solution:   Check for the end properly. (Christian Brabandt, neovim issue
            5781)
diff --git a/src/ops.c b/src/ops.c
index 4d01ef1..1abb8da 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3774,6 +3774,11 @@
 	 */
 	if (y_type == MCHAR && y_size == 1)
 	{
+	    linenr_T end = curbuf->b_visual.vi_end.lnum;
+
+	    if (curbuf->b_visual.vi_end.lnum < curbuf->b_visual.vi_start.lnum)
+		end = curbuf->b_visual.vi_start.lnum;
+
 	    do {
 		totlen = count * yanklen;
 		if (totlen > 0)
@@ -3801,7 +3806,7 @@
 		}
 		if (VIsual_active)
 		    lnum++;
-	    } while (VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum);
+	    } while (VIsual_active && lnum <= end);
 
 	    if (VIsual_active) /* reset lnum to the last visual line */
 		lnum--;