diff options
author | Adam Borowski <kilobyte@angband.pl> | 2010-09-04 02:44:17 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2010-09-04 02:44:17 +0200 |
commit | a2f257aecb00e73e7aec602d8fd7795d5993019c (patch) | |
tree | 1f22c48ce222a96cea1c26ada550698acaa8e568 /crawl-ref/source/package.cc | |
parent | 1f40d3bf8b813bd7bd66f4bf9e28a4166a3bc0b2 (diff) | |
download | crawl-ref-a2f257aecb00e73e7aec602d8fd7795d5993019c.tar.gz crawl-ref-a2f257aecb00e73e7aec602d8fd7795d5993019c.zip |
Store the "lua" subfile as a chunk.
Diffstat (limited to 'crawl-ref/source/package.cc')
-rw-r--r-- | crawl-ref/source/package.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crawl-ref/source/package.cc b/crawl-ref/source/package.cc index d3a2f44c5f..044377950a 100644 --- a/crawl-ref/source/package.cc +++ b/crawl-ref/source/package.cc @@ -749,3 +749,17 @@ len_t chunk_reader::read(void *data, len_t len) return raw_read(data, len); #endif } + +void chunk_reader::read_all(std::vector<char> &data) +{ +#define SPACE 1024 + len_t s, at; + do + { + at = data.size(); + data.resize(at + SPACE); + s = read(&data[at], SPACE); + } while (s == SPACE); + data.resize(at + s); +#undef SPACE +} |