patch 9.0.1444: crash when passing NULL to setcmdline()

Problem:    Crash when passing NULL to setcmdline(). (Andreas Louv)
Solution:   Use tv_get_string() instead of using v_string directly.
            (closes #12231, closes #12227)
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index ddcb260..8b47d86 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3393,6 +3393,14 @@
 
 func Test_setcmdline()
   func SetText(text, pos)
+    call assert_equal(0, setcmdline(test_null_string()))
+    call assert_equal('', getcmdline())
+    call assert_equal(1, getcmdpos())
+
+    call assert_equal(0, setcmdline(''[: -1]))
+    call assert_equal('', getcmdline())
+    call assert_equal(1, getcmdpos())
+
     autocmd CmdlineChanged * let g:cmdtype = expand('<afile>')
     call assert_equal(0, setcmdline(a:text))
     call assert_equal(a:text, getcmdline())