Last change
on this file since 3628 was 3320, checked in by Bruno Cornec, 10 years ago |
- Re-add (thanks git BTW) the 2.2.9 branch which had been destroyed in
the move to 3.0
|
-
Property svn:executable
set to
*
|
File size:
1.8 KB
|
Rev | Line | |
---|
[3320] | 1 | #!/bin/bash
|
---|
| 2 | #
|
---|
| 3 | # $Id$
|
---|
| 4 | #
|
---|
| 5 | # Mesures quality improvement of mondorescue project
|
---|
| 6 | #
|
---|
| 7 |
|
---|
| 8 | # Adapt to your needs
|
---|
| 9 | dname=`dirname $0`
|
---|
| 10 | prem=`echo $dname |cut -c1`
|
---|
| 11 | if [ ${prem} == "/" ]; then
|
---|
| 12 | export TOOLHOME=$dname
|
---|
| 13 | else
|
---|
| 14 | export TOOLHOME=${PWD}/$dname
|
---|
| 15 | fi
|
---|
| 16 |
|
---|
| 17 | d=$TOOLHOME/..
|
---|
| 18 |
|
---|
| 19 | if [ $# -gt 0 ]; then
|
---|
| 20 | if [ -d $1 ]; then
|
---|
| 21 | d=$1
|
---|
| 22 | fi
|
---|
| 23 | fi
|
---|
| 24 |
|
---|
| 25 | echo "Working on $d"
|
---|
| 26 | echo " "
|
---|
| 27 | cd $d
|
---|
| 28 |
|
---|
| 29 | # How many sprintf/strcat/strcpy vs asprintf are they
|
---|
| 30 | for s in asprintf mr_asprintf sprintf snprintf strcat mr_strcat strcpy strncpy fgets malloc mr_malloc malloc_string getline mr_getline MAX_STR_LEN getcwd goto free mr_free paranoid_free paranoid_system mr_system assert; do
|
---|
| 31 | echo "mondorescue $s usage : "
|
---|
| 32 | tot=0
|
---|
| 33 | for i in `find . -name '*.c' -o -name '*.h' | egrep -v '\.svn|/\*|monitas|mindi-busybox' | xargs grep -r -c -w $s | egrep -v ":0$"`; do
|
---|
| 34 | echo " === $i"
|
---|
| 35 | ((tot=$tot+`echo $i | cut -d: -f2`))
|
---|
| 36 | done
|
---|
| 37 | echo "total $s usage : $tot"
|
---|
| 38 | done
|
---|
| 39 |
|
---|
| 40 | echo " "
|
---|
| 41 | echo "Qualimetry: "
|
---|
| 42 | pbg -w asprintf | grep -vE 'monitas|mindi-busybox|quality|/\*|asprintf\(&' > /tmp/mondo.quality
|
---|
| 43 | cat /tmp/mondo.quality
|
---|
| 44 | echo "mondorescue uses : `cat /tmp/mondo.quality | wc -l` asprintf without &"
|
---|
| 45 | pbg -w getline | grep -vE 'monitas|mindi-busybox|quality|/\*|getline\(&' > /tmp/mondo.quality
|
---|
| 46 | cat /tmp/mondo.quality
|
---|
| 47 | echo "mondorescue uses : `cat /tmp/mondo.quality | wc -l` getline without &"
|
---|
| 48 | pbg mr_asprintf | grep -vE '"|FNAME|ISOFS|syscall_sprintf|mr_mem|quality' > /tmp/mondo.quality
|
---|
| 49 | cat /tmp/mondo.quality
|
---|
| 50 | echo "mondorescue uses : `cat /tmp/mondo.quality | wc -l` mr_asprintf without \""
|
---|
| 51 | pbg mr_asprintf | grep -vE '|mr_mem|quality|mr_asprintf\(&' > /tmp/mondo.quality
|
---|
| 52 | cat /tmp/mondo.quality
|
---|
| 53 | echo "mondorescue uses : `cat /tmp/mondo.quality | wc -l` mr_asprintf without &"
|
---|
| 54 | echo " "
|
---|
| 55 | echo "Splint: "
|
---|
| 56 | find . -name '*.c' -o -name '*.h' | xargs splint +posixlib -Dlinux
|
---|
| 57 |
|
---|
| 58 | rm -f /tmp/mondo.quality
|
---|
Note:
See
TracBrowser
for help on using the repository browser.