patch 8.0.0571: negative line number when using :z^ in an empty buffer

Problem:    The cursor line number becomes negative when using :z^ in an empty
            buffer. (neovim #6557)
Solution:   Correct the line number.  Also reset the column.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 4b0bdef..309474c 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4664,6 +4664,8 @@
 
     if (curs > curbuf->b_ml.ml_line_count)
 	curs = curbuf->b_ml.ml_line_count;
+    else if (curs < 1)
+	curs = 1;
 
     for (i = start; i <= end; i++)
     {
@@ -4686,7 +4688,11 @@
 	}
     }
 
-    curwin->w_cursor.lnum = curs;
+    if (curwin->w_cursor.lnum != curs)
+    {
+	curwin->w_cursor.lnum = curs;
+	curwin->w_cursor.col = 0;
+    }
     ex_no_reprint = TRUE;
 }