From: Bram Moolenaar Date: Tue, 19 Jun 2007 15:19:55 +0000 (+0000) Subject: updated for version 7.1-008 X-Git-Tag: v7.1.008~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d827ada01c256fb5e952d799a5b31bdf6f32d1d9;p=vim updated for version 7.1-008 --- diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 5df64f11e..cfc3769a4 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.1. Last change: 2007 May 11 +*eval.txt* For Vim version 7.1. Last change: 2007 Jun 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2824,6 +2824,8 @@ getfsize({fname}) *getfsize()* given file {fname}. If {fname} is a directory, 0 is returned. If the file {fname} can't be found, -1 is returned. + If the size of {fname} is too big to fit in a Number then -2 + is returned. getfontname([{name}]) *getfontname()* Without an argument returns the name of the normal font being diff --git a/src/eval.c b/src/eval.c index 9429981e0..ac4dc1bb5 100644 --- a/src/eval.c +++ b/src/eval.c @@ -10136,7 +10136,13 @@ f_getfsize(argvars, rettv) if (mch_isdir(fname)) rettv->vval.v_number = 0; else + { rettv->vval.v_number = (varnumber_T)st.st_size; + + /* non-perfect check for overflow */ + if ((off_t)rettv->vval.v_number != (off_t)st.st_size) + rettv->vval.v_number = -2; + } } else rettv->vval.v_number = -1;