[FFmpeg-devel] [PATCH] Try to add some ways variables can be read in patcheck.

Benoit Fouet benoit.fouet
Fri Jun 11 08:55:36 CEST 2010


On Fri, 11 Jun 2010 00:05:08 +0200 Michael Niedermayer wrote:
> On Thu, Jun 10, 2010 at 05:56:38PM +0200, Benoit Fouet wrote:
> > In if statement for instance, a variable is read when compared, or'd, and'd...
> > ---
> >  tools/patcheck |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/tools/patcheck b/tools/patcheck
> > index a6923c4..0ebfd43 100755
> > --- a/tools/patcheck
> > +++ b/tools/patcheck
> > @@ -112,7 +112,7 @@ for i in \
> >      ; do
> >      echo $i | grep '^NULL$' && continue
> >      egrep $i' *(\+|-|\*|/|\||&|%|)=[^=]' $* >/dev/null || echo "possibly never written:"$i >> $TMP
> > -    egrep '(=|\(|return).*'$i'[^=]*$'    $* >/dev/null || echo "possibly never read   :"$i >> $TMP
> > +    egrep '(=|\(|return).*'$i'(( *(&*|\|*|==))|[^=])*$'    $* >/dev/null || echo "possibly never read   :"$i >> $TMP
> 
> doesnt [^=] already match most of these things (except ==)?
> 

OK, tried to narrow the 'issue' a bit more.
What I was trying to fix was cases like:
if ($i && foo == bar)

So maybe just the following should do:

diff --git a/tools/patcheck b/tools/patcheck
index a6923c4..62ad086 100755
--- a/tools/patcheck
+++ b/tools/patcheck
@@ -112,7 +112,7 @@ for i in \
     ; do
     echo $i | grep '^NULL$' && continue
     egrep $i' *(\+|-|\*|/|\||&|%|)=[^=]' $* >/dev/null || echo "possibly never written:"$i >> $TMP
-    egrep '(=|\(|return).*'$i'[^=]*$'    $* >/dev/null || echo "possibly never read   :"$i >> $TMP
+    egrep '(=|\(|return).*'$i'(==|[^=])*$'    $* >/dev/null || echo "possibly never read   :"$i >> $TMP
     egrep -o $i' *((\+|-|\*|/|\||&|%|)=[^=]|\+\+|--) *(0x|)[0-9]*(;|)'   $* |\
            egrep -v $i' *= *(0x|)[0-9]{1,};'>/dev/null || echo "possibly constant     :"$i >> $TMP
 done



More information about the ffmpeg-devel mailing list