]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Mon, 4 Mar 2013 12:34:01 +0000 (13:34 +0100)
committerMike Pall <mike>
Mon, 4 Mar 2013 12:34:01 +0000 (13:34 +0100)
1  2 
src/lib_io.c

diff --cc src/lib_io.c
index e9472ba521fc7fe1e2ea3b7698d9579a2eab7443,e0c6908faebd5c88eb235fbbb885c3058d5cda79..5369d45094396a809826cdb217dd19f611ec5cdd
@@@ -17,8 -17,8 +17,9 @@@
  #include "lualib.h"
  
  #include "lj_obj.h"
+ #include "lj_gc.h"
  #include "lj_err.h"
 +#include "lj_buf.h"
  #include "lj_str.h"
  #include "lj_state.h"
  #include "lj_ff.h"
@@@ -172,9 -174,10 +175,10 @@@ static void io_file_readall(lua_State *
  static int io_file_readlen(lua_State *L, FILE *fp, MSize m)
  {
    if (m) {
 -    char *buf = lj_str_needbuf(L, &G(L)->tmpbuf, m);
 +    char *buf = lj_buf_tmp(L, m);
      MSize n = (MSize)fread(buf, 1, m, fp);
      setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n));
+     lj_gc_check(L);
      return (n > 0 || m == 0);
    } else {
      int c = getc(fp);