indent and fix logic for printing output
authorIan Kelling <iank@fsf.org>
Sat, 31 Oct 2020 22:04:53 +0000 (18:04 -0400)
committerIan Kelling <iank@fsf.org>
Sat, 31 Oct 2020 22:04:53 +0000 (18:04 -0400)
cedit

diff --git a/cedit b/cedit
index 9d37b55e56bc1053527489f86c8c4673420361ca..60bb4719aebf9729230b8b05a08ca8b30bb70667 100755 (executable)
--- a/cedit
+++ b/cedit
@@ -14,7 +14,7 @@
 # limitations under the License.
 
 cedit() {
-    local help="Usage: [-h|--help ] [-v] [SECTION_NAME] FILE
+  local help="Usage: [-h|--help ] [-v] [SECTION_NAME] FILE
 Create/modify a section in a config file
 
 Returns 1 if the file is modified by this command, 2 or higher
@@ -27,101 +27,99 @@ section. cedit is short for config edit.
 -v         Verbose
 -b         Keep backup file
 -h|--help  Help"
-    local s diff name init
-    local file_dir="$(dirname "$file")"
-    local exists=true
-    local verbose=false
-    local backup=false
-
-    case $1 in
-        -b) backup=true; shift ;;
-        -v) verbose=true; shift ;;
-        -h|--help) echo "$help"; return ;;
-    esac
-
-    if (( $# == 2 )); then
-        name=": $1"
-        shift
+  local s diff name init
+  local file_dir="$(dirname "$file")"
+  local exists=true
+  local verbose=false
+  local backup=false
+
+  case $1 in
+    -b) backup=true; shift ;;
+    -v) verbose=true; shift ;;
+    -h|--help) echo "$help"; return ;;
+  esac
+
+  if (( $# == 2 )); then
+    name=": $1"
+    shift
+  fi
+
+  local file="$1"
+  local file_name="${file##*/}"
+
+  local begin="#_#_# start delimiter of cedit section$name. do not modify. #_#_#"
+  local end="#_#_# end delimiter of cedit section$name. do not modify. #_#_#"
+
+  if [[ ! -e $file_dir ]]; then
+    if ! mkdir -p $file_dir; then
+      s=sudo
+      $s mkdir -p $file_dir || return 2
     fi
-
-    local file="$1"
-    local file_name="${file##*/}"
-
-    local begin="#_#_# start delimiter of cedit section$name. do not modify. #_#_#"
-    local end="#_#_# end delimiter of cedit section$name. do not modify. #_#_#"
-
-    if [[ ! -e $file_dir ]]; then
-        if ! mkdir -p $file_dir; then
-            s=sudo
-            $s mkdir -p $file_dir || return 2
-        fi
-    fi
-    if [[ ! -e $file ]]; then
-        exists=false
-        if ! $s touch $file; then
-            s=sudo
-            $s touch $file || return 2
-        fi
+  fi
+  if [[ ! -e $file ]]; then
+    exists=false
+    if ! $s touch $file; then
+      s=sudo
+      $s touch $file || return 2
     fi
-
-    [[ -w $file ]] || s=sudo
-
-
-    if $exists; then
-        local temp="$(mktemp -d)/$file_name"
-        cp "$file" "$temp"
-        cp /dev/null "$file"
-        local in_section=false
-        while IFS= read -r line; do
-            if [[ $line == $begin ]]; then
-                in_section=true;
-            fi
-            if ! $in_section; then
-                printf '%s\n' "$line" >> $file
-            fi
-            if [[ $line == $end ]]; then
-                in_section=false;
-            fi
-        done < "$temp"
-    fi
-
-    IFS= read -d '' -n 1 -r init
-    if [[ $init ]]; then
-        $s tee -a "$file" >/dev/null <<<"$begin"
-        printf '%s' "$init" | $s tee -a "$file" >/dev/null
-        $s tee -a "$file" >/dev/null
-        $s tee -a "$file" >/dev/null <<<"$end"
+  fi
+
+  [[ -w $file ]] || s=sudo
+
+
+  if $exists; then
+    local temp="$(mktemp -d)/$file_name"
+    cp "$file" "$temp"
+    cp /dev/null "$file"
+    local in_section=false
+    while IFS= read -r line; do
+      if [[ $line == $begin ]]; then
+        in_section=true;
+      fi
+      if ! $in_section; then
+        printf '%s\n' "$line" >> $file
+      fi
+      if [[ $line == $end ]]; then
+        in_section=false;
+      fi
+    done < "$temp"
+  fi
+
+  IFS= read -d '' -n 1 -r init
+  if [[ $init ]]; then
+    $s tee -a "$file" >/dev/null <<<"$begin"
+    printf '%s' "$init" | $s tee -a "$file" >/dev/null
+    $s tee -a "$file" >/dev/null
+    $s tee -a "$file" >/dev/null <<<"$end"
+  fi
+
+  if ! $exists; then
+    ret=1
+    if $verbose; then
+      echo "New file $file:"
+      cat "$file"
     fi
-
-    if ! $exists; then
-        ret=1
-        if $verbose; then
-            echo "New file $file:"
-            cat "$file"
-        fi
-    elif type -t diff &>/dev/null; then
-        diff=$(diff -u "$temp" "$file")
-        ret=$?
-        if $verbose; then
-            if (( $ret == 0 )); then
-                echo "No changes made to $file"
-            fi
-        else
-            echo "backup of original at $temp"
-            echo diff -u "$temp" "$file":
-            echo "$diff"
-        fi
-    else
-        # for systems like openwrt which don't have diff
-        diff=$(cmp "$temp" "$file")
-        ret=$?
-        if $verbose; then
-            echo "$diff"
-        fi
+  elif type -t diff &>/dev/null; then
+    diff=$(diff -u "$temp" "$file")
+    ret=$?
+    if (( $ret )); then
+      echo "backup of original at $temp"
+      echo diff -u "$temp" "$file":
+      echo "$diff"
+    elif $verbose; then
+      echo "No changes made to $file"
     fi
-    if ! $backup; then
-        rm -r $"$temp"
+  else
+    # for systems like openwrt which don't have diff
+    diff=$(cmp "$temp" "$file")
+    ret=$?
+    if $verbose; then
+      echo "$diff"
     fi
-    return $ret
+  fi
+  if ! $backup; then
+    rm -r $"$temp"
+  fi
+  return $ret
 }
 cedit "$@"