patch 8.2.2136: Vim9: Using uninitialized variable

Problem:    Vim9: Using uninitialized variable.
Solution:   Initialize "len" to zero.  Clean up fnamemodify().
diff --git a/src/filepath.c b/src/filepath.c
index 347612a..0db0dcf 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -1019,7 +1019,7 @@
     char_u	*fname;
     char_u	*mods;
     int		usedlen = 0;
-    int		len;
+    int		len = 0;
     char_u	*fbuf = NULL;
     char_u	buf[NUMBUFLEN];
 
@@ -1028,12 +1028,13 @@
 	return;
     fname = tv_get_string_chk(&argvars[0]);
     mods = tv_get_string_buf_chk(&argvars[1], buf);
-    if (fname == NULL)
+    if (mods == NULL || fname == NULL)
 	fname = NULL;
-    else if (mods != NULL && *mods != NUL)
+    else
     {
 	len = (int)STRLEN(fname);
-	(void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
+	if (mods != NULL && *mods != NUL)
+	    (void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
     }
 
     rettv->v_type = VAR_STRING;