summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/package.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2010-09-04 02:44:17 +0200
committerAdam Borowski <kilobyte@angband.pl>2010-09-04 02:44:17 +0200
commita2f257aecb00e73e7aec602d8fd7795d5993019c (patch)
tree1f22c48ce222a96cea1c26ada550698acaa8e568 /crawl-ref/source/package.cc
parent1f40d3bf8b813bd7bd66f4bf9e28a4166a3bc0b2 (diff)
downloadcrawl-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.cc14
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
+}