zbar: add a patch to wrap logical not operations into parenthesis
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>
Mon, 25 Jan 2016 12:17:50 +0000 (12:17 +0000)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 26 Jan 2016 20:32:34 +0000 (21:32 +0100)
This fixes build failures like this one:

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

Fixes:

  http://autobuild.buildroot.net/results/299/299dc845af082167085d366b38daf1dfd95d7047/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch [new file with mode: 0644]

diff --git a/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch b/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch
new file mode 100644 (file)
index 0000000..6d39b1b
--- /dev/null
@@ -0,0 +1,80 @@
+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
+