summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-07-01 15:08:32 +0100
committerGitHub <noreply@github.com>2025-07-01 15:08:32 +0100
commitf3c3f0e266a98d36d79953f0b692652787c4cd30 (patch)
treeb74bbf928277260139ee5464333daf04be281d35
parent74bb4ab312bbbce7a223d7fbb24cb742d05bf431 (diff)
parent919385cd7fad1c9759984ff0abfb832b73a7403f (diff)
downloadvyatta-cfg-f3c3f0e266a98d36d79953f0b692652787c4cd30.tar.gz
vyatta-cfg-f3c3f0e266a98d36d79953f0b692652787c4cd30.zip
Merge pull request #103 from hedrok/T6769-check-commit-args
cli: T6769: check commit arguments
-rw-r--r--functions/interpreter/vyatta-cfg-run29
1 files changed, 14 insertions, 15 deletions
diff --git a/functions/interpreter/vyatta-cfg-run b/functions/interpreter/vyatta-cfg-run
index b466631..dc69d6c 100644
--- a/functions/interpreter/vyatta-cfg-run
+++ b/functions/interpreter/vyatta-cfg-run
@@ -115,29 +115,28 @@ vyatta_config_commit ()
return 1;
fi
fi
+
local comment="commit"
- local next=0
- local -a args=()
- for arg in "$@"; do
- if [ "$next" == "1" ]; then
- comment=$arg
- next=0;
- elif [ "$arg" == "comment" ]; then
- next=1
- elif [ "$arg" == "confirm" ]; then
- echo Use commit-confirm command
+ if [ $# -gt 0 ] ; then
+ if [ $# = 1 ] || [ $# -gt 2 ] || [ "$1" != "comment" ]; then
+ if [ "$1" == "confirm" ]; then
+ echo "Use commit-confirm command"
+ return 1
+ fi
+ echo "Error: commit accepts either no arguments, or optional 'comment'" \
+ "with comment text as second argument."
+ echo -e "\tUsage: 'commit [comment COMMENTTEXT]'"
return 1;
- else
- args[${#args[@]}]="$arg"
fi
- done
+ comment="$2"
+ fi
export COMMIT_COMMENT="$comment"
export COMMIT_VIA=cli
if test -f "/var/run/vyconf_backend"; then
- /usr/libexec/vyos/vyconf/bin/vy_commit "${args[@]}" 2>&1
+ /usr/libexec/vyos/vyconf/bin/vy_commit 2>&1
else
- /opt/vyatta/sbin/my_commit "${args[@]}" 2>&1
+ /opt/vyatta/sbin/my_commit 2>&1
fi
unset COMMIT_VIA
unset COMMIT_COMMENT