updated for version 7.3.677
Problem:    buf_spname() is used inconsistently.
Solution:   Make the return type a char_u pointer.  Check the size of the
            returned string.
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index d3bf04f..de190e7 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1688,8 +1688,7 @@
 	    msg_didout = FALSE;
 	}
 	if (EMSG2(_("E162: No write since last change for buffer \"%s\""),
-		    buf_spname(buf) != NULL ? (char_u *)buf_spname(buf) :
-		    buf->b_fname))
+		    buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname))
 	{
 	    save = no_wait_return;
 	    no_wait_return = FALSE;