patch 8.0.0307: asan detects a memory error when EXITFREE is defined

Problem:    Asan detects a memory error when EXITFREE is defined. (Dominique
            Pelle)
Solution:   In getvcol() check for ml_get_buf() returning an empty string.
            Also skip adjusting the scroll position.  Set "exiting" in
            mch_exit() for all systems.
diff --git a/src/charset.c b/src/charset.c
index eb8baa9..984d765 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1296,6 +1296,10 @@
 	posptr = NULL;  /* continue until the NUL */
     else
     {
+	/* Special check for an empty line, which can happen on exit, when
+	 * ml_get_buf() always returns an empty string. */
+	if (*ptr == NUL)
+	    pos->col = 0;
 	posptr = ptr + pos->col;
 #ifdef FEAT_MBYTE
 	if (has_mbyte)