Parcourir la source

Improve coding style

Use CamelCase for inheritable variable names, avoid re-hashing each
module twice and add function and variable docstrings, remove unnecessary
whitespace
Alois Mahdal il y a 6 ans
Parent
révision
0b81796ec3
1 fichiers modifiés avec 29 ajouts et 28 suppressions
  1. 29
    28
      src/bin/sfembed

+ 29
- 28
src/bin/sfembed Voir le fichier

@@ -24,7 +24,7 @@ chk_applicable() {
24 24
 }
25 25
 
26 26
 mkbody() {
27
-    debug -v to_embed
27
+    debug -v ScriptFullPath
28 28
     mkhead      || return $?
29 29
     mkmodules   || return $?
30 30
     mkpayload   || return $?
@@ -35,21 +35,23 @@ mkmodules() {
35 35
     #
36 36
     # Print each module body w/ header
37 37
     #
38
-    local modlist="__shellfu_embed__modlist"
39
-    local module=""
38
+    local modlist=__shellfu_embed__modlist
39
+    local Module
40
+    local ModuleHash
40 41
     (
41
-        SHELLFU_EMBEDTMP="$modlist" "$to_embed" >&2
42
+        SHELLFU_EMBEDTMP="$modlist" "$ScriptFullPath" >&2
42 43
     )
43 44
     awk '!x[$0]++' "$modlist" \
44
-      | while read -r module;
45
+      | while read -r Module;
45 46
         do
46
-            think "appending: $module"
47
-            mkmodule "$module"
47
+            ModuleHash=$(md5sum "$Module")
48
+            think "appending: $Module"
49
+            mkmodule "$Module"
48 50
         done
49 51
 }
50 52
 
51 53
 mkpayload() {
52
-    cat "$to_embed"
54
+    cat "$ScriptFullPath"
53 55
 }
54 56
 
55 57
 mkfoot() {
@@ -63,21 +65,24 @@ mkmodule() {
63 65
     # Print single module body
64 66
     #
65 67
     echo "#"
66
-    echo "# begin module: $(md5sum "$module")"
68
+    echo "# begin module: $ModuleHash"
67 69
     echo "#"
68 70
     echo
69
-    cat "$module"
71
+    cat "$Module"
70 72
     echo
71 73
     echo "#"
72
-    echo "# end module: $(md5sum "$module")"
74
+    echo "# end module: $ModuleHash"
73 75
     echo "#"
74 76
     echo
75 77
 }
76 78
 
77 79
 mkhead() {
80
+    #
81
+    # Print header of the final script
82
+    #
78 83
     echo "#!/bin/bash"
79 84
     echo "#"
80
-    echo "# shellfu embedded: $to_embed"
85
+    echo "# shellfu embedded: $ScriptFullPath"
81 86
     echo "# shellfu version: $SHELLFU_VERSION"
82 87
     echo "#"
83 88
     echo
@@ -91,9 +96,11 @@ mkhead() {
91 96
 }
92 97
 
93 98
 do_embed() {
94
-    local tmp="$(mktemp -d -t shellfu_embed.XXXXXXXX)"
95
-    local es=0
96
-    local to_embed="$(readlink -f "$script")"
99
+    local tmp               # temporary dir to run in
100
+    local es=0              # exit status of this function
101
+    local ScriptFullPath    # full path to script to embed in
102
+    tmp=$(mktemp -d -t shellfu_embed.XXXXXXXX)
103
+    ScriptFullPath=$(readlink -f "$Script")
97 104
     pushd "$tmp" >/dev/null
98 105
         mkbody; es=$?
99 106
     popd >/dev/null
@@ -102,26 +109,20 @@ do_embed() {
102 109
 }
103 110
 
104 111
 main() {
105
-
106
-    local script=""     # script to embed libraries into
107
-
112
+    local Script        # script to embed libraries into
108 113
     while true; do case "$1" in
109 114
         -d) PRETTY_DEBUG=true; shift ;;
110 115
         -v) PRETTY_VERBOSE=true; shift ;;
111 116
         -*) usage ;;
112 117
         *)  break ;;
113 118
     esac done
114
-    script="$1"
115
-
116
-    test -n "$script" || usage
117
-    test -f "$script" || die "no such file: $script"
118
-    test -r "$script" || die "cannot read: $script"
119
-    chk_applicable "$script" || die "not applicable for embedding: $script"
120
-
121
-    debug -v script
122
-
119
+    Script="$1"
120
+    test -n "$Script" || usage
121
+    test -f "$Script" || die "no such file: $Script"
122
+    test -r "$Script" || die "cannot read: $Script"
123
+    chk_applicable "$Script" || die "not applicable for embedding: $Script"
124
+    debug -v Script
123 125
     do_embed
124
-
125 126
 }
126 127
 
127 128
 main "$@"