| #!/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 |