updated for version 7.3.161
Problem:    Items on the stack may be too big.
Solution:   Make items static or allocate them.
diff --git a/src/fileio.c b/src/fileio.c
index a0b7557..62adf72 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -6023,15 +6023,19 @@
 shorten_fname1(full_path)
     char_u	*full_path;
 {
-    char_u	dirname[MAXPATHL];
+    char_u	*dirname;
     char_u	*p = full_path;
 
+    dirname = alloc(MAXPATHL);
+    if (dirname == NULL)
+	return full_path;
     if (mch_dirname(dirname, MAXPATHL) == OK)
     {
 	p = shorten_fname(full_path, dirname);
 	if (p == NULL || *p == NUL)
 	    p = full_path;
     }
+    vim_free(dirname);
     return p;
 }
 #endif