summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2012-03-02 23:01:27 +0100
committerJoel Rosdahl <joel@rosdahl.net>2012-03-02 23:01:27 +0100
commit69d87f2d5c0ea5d3730e4fa82015eb804eee7cb0 (patch)
tree38f2787d1967e6cf0cc747be288afe1fa6e6c6bb
parent235c19b2b39a36c6d6947c4eeeb3981e5d527d3c (diff)
downloadccache-69d87f2d5c0ea5d3730e4fa82015eb804eee7cb0.tar.gz
Make ccache compilable with clang
-rw-r--r--manifest.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/manifest.c b/manifest.c
index 5b216981..e5383a19 100644
--- a/manifest.c
+++ b/manifest.c
@@ -142,6 +142,16 @@ free_manifest(struct manifest *mf)
free(mf);
}
+#define READ_BYTE(var) \
+ do { \
+ int ch_; \
+ ch_ = gzgetc(f); \
+ if (ch_ == EOF) { \
+ goto error; \
+ } \
+ (var) = ch_ & 0xFF; \
+ } while (false)
+
#define READ_INT(size, var) \
do { \
int ch_; \
@@ -223,14 +233,14 @@ read_manifest(gzFile f)
free_manifest(mf);
return NULL;
}
- READ_INT(1, mf->version);
+ READ_BYTE(mf->version);
if (mf->version != VERSION) {
cc_log("Manifest file has unknown version %u", mf->version);
free_manifest(mf);
return NULL;
}
- READ_INT(1, mf->hash_size);
+ READ_BYTE(mf->hash_size);
if (mf->hash_size != 16) {
/* Temporary measure until we support different hash algorithms. */
cc_log("Manifest file has unsupported hash size %u", mf->hash_size);