diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/jpeg.c | 27 | ||||
-rw-r--r-- | src/lib/libgcov.c | 9 |
2 files changed, 23 insertions, 13 deletions
diff --git a/src/lib/jpeg.c b/src/lib/jpeg.c index f06d490329..06827ea413 100644 --- a/src/lib/jpeg.c +++ b/src/lib/jpeg.c @@ -166,7 +166,8 @@ static int readtables(int till) for (;;) { if (getbyte() != 0xff) return -1; - if ((m = getbyte()) == till) + m = getbyte(); + if (m == till) break; switch (m) { @@ -455,15 +456,20 @@ static int fillbits(struct in *in, int le, unsigned int bi) } while (le <= 24) { b = *in->p++; - if (b == 0xff && (m = *in->p++) != 0) { - if (m == M_EOF) { - if (in->func && (m = in->func(in->data)) == 0) - continue; + if (b == 0xff) { + m = *in->p++; + if (m != 0) { + if (m == M_EOF) { + if (in->func) { + m = in->func(in->data); + if (m == 0) + continue; + } + in->marker = m; + if (le <= 16) + bi = bi << 16, le += 16; + break; } - in->marker = m; - if (le <= 16) - bi = bi << 16, le += 16; - break; } bi = bi << 8 | b; le += 8; @@ -477,7 +483,8 @@ static int dec_readmarker(struct in *in) int m; in->left = fillbits(in, in->left, in->bits); - if ((m = in->marker) == 0) + m = in->marker; + if (m == 0) return 0; in->left = 0; in->marker = 0; diff --git a/src/lib/libgcov.c b/src/lib/libgcov.c index 2cfda0a364..ca5021f834 100644 --- a/src/lib/libgcov.c +++ b/src/lib/libgcov.c @@ -496,7 +496,8 @@ gcov_exit(void) if (length != GCOV_TAG_SUMMARY_LENGTH) goto read_mismatch; gcov_read_summary(&tmp); - if ((error = gcov_is_error())) + error = gcov_is_error(); + if (error) goto read_error; if (summary_pos || tmp.checksum != crc32) @@ -584,7 +585,8 @@ gcov_exit(void) ci_ptr->num); ci_ptr++; } - if ((error = gcov_is_error())) + error = gcov_is_error(); + if (error) goto read_error; } @@ -713,7 +715,8 @@ read_fatal:; fn_buffer = free_fn_data(gi_ptr, fn_buffer, GCOV_COUNTERS); - if ((error = gcov_close())) + error = gcov_close(); + if (error) fprintf(stderr, error < 0 ? "profiling:%s:Overflow writing\n" : "profiling:%s:Error writing\n", |