File tree Expand file tree Collapse file tree 4 files changed +15
-15
lines changed Expand file tree Collapse file tree 4 files changed +15
-15
lines changed Original file line number Diff line number Diff line change @@ -54,7 +54,7 @@ elif [ -d "$REPLY/lib" ]; then
54
54
BASH_OBJECT_LIB_DIR=" $REPLY /lib"
55
55
else
56
56
echo " Error: Could not determine \$ BASH_OBJECT_LIB_DIR"
57
- exit 1
57
+ return 1
58
58
fi
59
59
60
60
# shellcheck disable=SC1091
Original file line number Diff line number Diff line change @@ -12,53 +12,53 @@ bobject() {
12
12
get-string)
13
13
if (( $# != 2 )) ; then
14
14
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
15
- exit 1
15
+ return 1
16
16
fi
17
17
18
18
bash_object.traverse-get string " $@ "
19
19
;;
20
20
get-array)
21
21
if (( $# != 2 )) ; then
22
22
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
23
- exit 1
23
+ return 1
24
24
fi
25
25
26
26
bash_object.traverse-get array " $@ "
27
27
;;
28
28
get-object)
29
29
if (( $# != 2 )) ; then
30
30
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
31
- exit 1
31
+ return 1
32
32
fi
33
33
34
34
bash_object.traverse-get object " $@ "
35
35
;;
36
36
set-string)
37
37
if (( $# != 3 )) ; then
38
38
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
39
- exit 1
39
+ return 1
40
40
fi
41
41
42
42
bash_object.traverse-set string " $@ "
43
43
;;
44
44
set-array)
45
45
if (( $# != 3 )) ; then
46
46
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
47
- exit 1
47
+ return 1
48
48
fi
49
49
50
50
bash_object.traverse-set array " $@ "
51
51
;;
52
52
set-object)
53
53
if (( $# != 3 )) ; then
54
54
printf ' %s\n' " bash-object: Error: Incorrect arguments for subcommand '$subcmd '"
55
- exit 1
55
+ return 1
56
56
fi
57
57
58
58
bash_object.traverse-set object " $@ "
59
59
;;
60
60
* )
61
61
printf ' %s\n' " bash-object: Error: Subcommand '$subcmd ' not recognized"
62
- exit 1
62
+ return 1
63
63
esac
64
64
}
Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ bash_object.traverse-get() {
40
40
# If 'key' is not a member of object or index of array, error
41
41
if [ -z " ${current_object["$key"]+x} " ]; then
42
42
echo " Error: Key '$key ' is not in object '$current_object_name '"
43
- exit 1
43
+ return 1
44
44
else
45
45
# If 'key' is a member of an object, or index of array
46
46
if [ -n " ${TRACE_BASH_OBJECT_TRAVERSE+x} " ]; then
@@ -145,7 +145,7 @@ bash_object.traverse-get() {
145
145
if (( i+ 1 < ${# REPLIES[@]} )) ; then
146
146
# TODO
147
147
echo " mu" >&3
148
- exit 2
148
+ # return 2
149
149
:
150
150
elif (( i+ 1 == ${# REPLIES[@]} )) ; then
151
151
local value=" ${current_object["$key"]} "
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ bash_object.traverse-set() {
42
42
# TODO: double-check if new_current_object_name only has underscores, dots, etc. (printf %q?)
43
43
if ! eval " declare -gA $new_current_object_name =()" ; then
44
44
printf ' %s\n' ' Error: bash-object: eval declare failed'
45
- exit 1
45
+ return 1
46
46
fi
47
47
48
48
current_object[" $key " ]=$' \x1C\x1D ' " type=object;&$new_current_object_name "
@@ -80,7 +80,7 @@ bash_object.traverse-set() {
80
80
else
81
81
# TODO: throw error
82
82
echo " phi" >&3
83
- exit 1
83
+ # return 1
84
84
fi
85
85
:
86
86
elif (( i+ 1 == ${# REPLIES[@]} )) ; then
@@ -115,19 +115,19 @@ bash_object.traverse-set() {
115
115
object)
116
116
# TODO: test this
117
117
echo " Error: Cannot set string on object"
118
- exit 1
118
+ return 1
119
119
;;
120
120
array)
121
121
echo " Error: Cannot set string on array"
122
- exit 1
122
+ return 1
123
123
;;
124
124
esac
125
125
fi
126
126
current_object[" $key " ]=" $final_value "
127
127
else
128
128
# TODO: throw error
129
129
echo " omicron" >&3
130
- exit 1
130
+ return 1
131
131
fi
132
132
fi
133
133
fi
You can’t perform that action at this time.
0 commit comments