bugfix
This commit is contained in:
@@ -53,7 +53,7 @@ conf_save()
|
||||
|
||||
local section="$1" key="$2" value="$3"
|
||||
|
||||
if ! [[ "$section" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then
|
||||
if ! [[ "$section" =~ ^[a-zA-Z0-9_]+$ ]]; then
|
||||
disp E "conf_save: invalid section name '${section}' (alphanumeric and underscore only)."
|
||||
return 1
|
||||
fi
|
||||
@@ -87,8 +87,12 @@ conf_save()
|
||||
fi
|
||||
|
||||
local tmp_file="${conf_file}.tmp.$$"
|
||||
awk -v sec="$section" -v key="$key" -v val="$value" '
|
||||
# The value is passed via ENVIRON (not awk -v) so backslashes are preserved
|
||||
# verbatim; awk -v would interpret C escape sequences (\t, \n, \e, ...).
|
||||
_CONF_SAVE_VAL="$value" \
|
||||
awk -v sec="$section" -v key="$key" '
|
||||
BEGIN {
|
||||
val = ENVIRON["_CONF_SAVE_VAL"]
|
||||
in_sec = 0
|
||||
saw_sec = 0
|
||||
wrote = 0
|
||||
@@ -203,6 +207,10 @@ conf_dump()
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
disp E "Invalid option, use \"conf_dump --help\" to display options list"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user