diff options
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-08-29 11:38:11 +0900 |
---|---|---|
committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-08-29 11:38:11 +0900 |
commit | ecababb9ed8540db4e2ee2dc8c30b7880eca761c (patch) | |
tree | d2eac828efd5e38df871bf1ec47b6fbec17b0f9d /io.cc | |
parent | 1d92d8a4f25e2f39a111410cdfbf1982d88f58e6 (diff) | |
download | kati-ecababb9ed8540db4e2ee2dc8c30b7880eca761c.tar.gz |
[C++] Do not die for incomplete .kati_stamp file
Instead, just re-generate the ninja file
Diffstat (limited to 'io.cc')
-rw-r--r-- | io.cc | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -32,12 +32,18 @@ void DumpString(FILE* fp, StringPiece s) { int LoadInt(FILE* fp) { int v; size_t r = fread(&v, sizeof(v), 1, fp); - CHECK(r == 1); + if (r != 1) + return -1; return v; } -void LoadString(FILE* fp, string* s) { - s->resize(LoadInt(fp)); +bool LoadString(FILE* fp, string* s) { + int len = LoadInt(fp); + if (len < 0) + return false; + s->resize(len); size_t r = fread(&(*s)[0], 1, s->size(), fp); - CHECK(r == s->size()); + if (r != s->size()) + return false; + return true; } |