--- /dev/null
+From 7e69cdc8dfdf07701ba551985ee49d48e64d730f Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Mon, 25 Jan 2016 11:58:59 +0000
+Subject: [PATCH] Wrap logical not operations into parentheses
+
+Otherwise it fails like this:
+
+zbar/decoder/ean.c: In function 'ean_part_end4':
+zbar/decoder/ean.c:297:13: error: logical not is only applied to the
+left hand side of comparison [-Werror=logical-not-parentheses]
+ if(!par == fwd) {
+
+This patch has been sent upstream as a pull request:
+
+ https://github.com/ZBar/ZBar/pull/9
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ zbar/decoder/ean.c | 4 ++--
+ zbar/qrcode/qrdec.c | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/zbar/decoder/ean.c b/zbar/decoder/ean.c
+index c20f538..41d1493 100644
+--- a/zbar/decoder/ean.c
++++ b/zbar/decoder/ean.c
+@@ -294,7 +294,7 @@ static inline zbar_symbol_type_t ean_part_end4 (ean_pass_t *pass,
+ /* invalid parity combination */
+ return(ZBAR_NONE);
+
+- if(!par == fwd) {
++ if((!par) == fwd) {
+ /* reverse sampled digits */
+ unsigned char tmp = pass->raw[1];
+ pass->state |= STATE_REV;
+@@ -380,7 +380,7 @@ static inline zbar_symbol_type_t ean_part_end7 (ean_decoder_t *ean,
+ /* invalid parity combination */
+ return(ZBAR_NONE);
+
+- if(!par == fwd) {
++ if((!par) == fwd) {
+ unsigned char i;
+ pass->state |= STATE_REV;
+ /* reverse sampled digits */
+diff --git a/zbar/qrcode/qrdec.c b/zbar/qrcode/qrdec.c
+index d8fa802..5d3d265 100644
+--- a/zbar/qrcode/qrdec.c
++++ b/zbar/qrcode/qrdec.c
+@@ -1219,8 +1219,8 @@ static int qr_finder_quick_crossing_check(const unsigned char *_img,
+ _x1<0||_x1>=_width||_y1<0||_y1>=_height){
+ return -1;
+ }
+- if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
+- if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1;
++ if((!_img[_y0*_width+_x0])!=_v||(!_img[_y1*_width+_x1])!=_v)return 1;
++ if((!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)])==_v)return -1;
+ return 0;
+ }
+
+@@ -1261,7 +1261,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img,
+ x0[1-steep]+=step[1-steep];
+ err-=dx[steep];
+ }
+- if(!_img[x0[1]*_width+x0[0]]!=_v)break;
++ if((!_img[x0[1]*_width+x0[0]])!=_v)break;
+ }
+ /*Find the last crossing from _v to !_v.*/
+ err=0;
+@@ -1273,7 +1273,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img,
+ x1[1-steep]-=step[1-steep];
+ err-=dx[steep];
+ }
+- if(!_img[x1[1]*_width+x1[0]]!=_v)break;
++ if((!_img[x1[1]*_width+x1[0]])!=_v)break;
+ }
+ /*Return the midpoint of the _v segment.*/
+ _p[0]=(x0[0]+x1[0]+1<<QR_FINDER_SUBPREC)>>1;
+--
+2.4.10
+