[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