#!/bin/bash
|
|
# This script will recursively search all |FILES| from the current
|
# directory and replace all |TYPES| according to the list below.
|
|
# NOTE 1:
|
# If this script is run from .../system/bt (as it's intended to be),
|
# please edit stack/include/bt_types.h next and remove the typedef's
|
# near the top and restore the definitions of TRUE and FALSE. These
|
# are still used in the vnd_* files and device specific repositories.
|
|
# NOTE 2:
|
# The list of files to be modified also includes "*.patch", which means
|
# this script can be used to help cherry-picking changes from older
|
# branches. Follow this workflow outline:
|
# 1. git format-patch [-1] <your sha1>
|
# 2. Run change_type script on patch[es]
|
# 3. git apply / git am
|
|
|
# Regular expression matching the file name
|
FILES="\.h$|\.c$|\.cpp$|\.cc$|\.patch$"
|
|
# Search/replace terms, separated by ":"
|
TYPES=(
|
"UINT8 :uint8_t "
|
"UINT16 :uint16_t "
|
"UINT32 :uint32_t "
|
"UINT64 :uint64_t "
|
"INT8 :int8_t "
|
"INT16 :int16_t "
|
"INT32 :int32_t "
|
"INT64 :int64_t "
|
"UINT8:uint8_t"
|
"UINT16:uint16_t"
|
"UINT32:uint32_t"
|
"UINT64:uint64_t"
|
"INT8:int8_t"
|
"INT16:int16_t"
|
"INT32:int32_t"
|
"INT64:int64_t"
|
"BOOLEAN:bool "
|
"TRUE:true"
|
"FALSE:false"
|
"__FUNCTION__:__func__"
|
)
|
|
function process_file
|
{
|
echo -n "Processing file $1 "
|
|
for tt in "${TYPES[@]}" ;
|
do
|
before=${tt%%:*}
|
after=${tt#*:}
|
|
echo -n "."
|
sed -i -e "s/\b${before}/${after}/g; s/${after}_/${before}_/g;" "$1"
|
done
|
echo
|
}
|
|
function process_files
|
{
|
until [ -z "$1" ]
|
do
|
process_file "$1"
|
shift
|
done
|
}
|
|
|
# Let's do this ...
|
process_files `find ./ | grep -E "${FILES}"`
|
|
# All done ...
|
echo
|
echo "All done."
|
|
# Try to be helpful ...
|
PWD=`pwd`
|
if [[ "${PWD}" == */system/bt ]]
|
then
|
echo "Please edit ${PWD}/stack/include/bt_types.h next."
|
fi
|