52 lines
1.7 KiB
Bash
52 lines
1.7 KiB
Bash
|
|
#!/bin/sh
|
||
|
|
|
||
|
|
FILES="oscam-config-global.c oscam-config-account.c oscam-config-reader.c"
|
||
|
|
|
||
|
|
echo "** Checking config tables stored in: $FILES"
|
||
|
|
|
||
|
|
if [ ! -f globals.h ]
|
||
|
|
then
|
||
|
|
echo "ERROR: Run this script in the oscam source directory (where globals.h file is)."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
check_int() {
|
||
|
|
DEF=$1
|
||
|
|
TYPE=$2
|
||
|
|
echo "== Checking $DEF -> config parser expects '$TYPE' type but globals.h is THE CORRECT ONE"
|
||
|
|
for VAR in `cat $FILES | grep $DEF | grep -w OFS | tr -d ' \t' | cut -d\( -f3 | cut -d\) -f1`
|
||
|
|
do
|
||
|
|
[ $VAR = "cacheex.maxhop" ] && continue
|
||
|
|
awk '{print $1 " " $2 }' globals.h | grep -vE "^[#/]" | sed -e 's|;||g' | grep -w $VAR | while read Z
|
||
|
|
do
|
||
|
|
if [ "$TYPE $VAR" != "$Z" ]
|
||
|
|
then
|
||
|
|
printf "globals.h: %-32s | config: $TYPE $VAR\n" "$Z"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
done
|
||
|
|
}
|
||
|
|
|
||
|
|
check_int DEF_OPT_INT8 int8_t
|
||
|
|
check_int DEF_OPT_UINT8 uint8_t
|
||
|
|
check_int DEF_OPT_INT32 int32_t
|
||
|
|
check_int DEF_OPT_UINT32 uint32_t
|
||
|
|
|
||
|
|
echo "== Checking DEF_OPT_STR (strings) -> config parser expects 'char *' type"
|
||
|
|
for VAR in `cat $FILES | grep DEF_OPT_STR | grep OFS | awk '{print $3}' | sed "s|OFS(||;s|)||;s|,||"`
|
||
|
|
do
|
||
|
|
grep -w $VAR globals.h | grep -vwE "(\*$VAR|#include)" | grep -w --color $VAR
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "== Checking DEF_OPT_SSTR (static strings) -> config parser expects 'char[x]'"
|
||
|
|
for VAR in `cat $FILES | grep DEF_OPT_SSTR | grep OFS | awk '{print $3}' | sed "s|OFS(||;s|)||;s|,||"`
|
||
|
|
do
|
||
|
|
grep -w $VAR globals.h | grep -vE "(\[|#define)" | grep -w --color $VAR
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "== Checking DEF_OPT_HEX (arrays) -> config parser expects 'uint8_t[x]' type"
|
||
|
|
for VAR in `cat $FILES | grep DEF_OPT_HEX | grep OFS | awk '{print $3}' | sed "s|OFS(||;s|)||;s|,||"`
|
||
|
|
do
|
||
|
|
grep -w $VAR globals.h | grep -vw uint8_t | grep -w --color $VAR
|
||
|
|
done
|