]> granicus.if.org Git - vim/commitdiff
updated for version 7.1-008
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Jun 2007 15:19:55 +0000 (15:19 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Jun 2007 15:19:55 +0000 (15:19 +0000)
runtime/doc/eval.txt
src/eval.c

index 5df64f11e7b008eeaa850197deb15ae57e1c549f..cfc3769a48040d4892fd007edd7bb27b428c06fd 100644 (file)
@@ -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
index 9429981e0d4c0f9d7b1481060552b28b87882191..ac4dc1bb511d0145857a3c3450d495bcecf121e5 100644 (file)
@@ -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;