• R/O
  • HTTP
  • SSH
  • HTTPS

crshini: Commit

GitHubのミラーです
https://github.com/hayao0819/crshini


Commit MetaInfo

Révision2f2e61bee2fc611e14376798d2e53b0da3de23d0 (tree)
l'heure2021-06-07 22:08:19
Auteurhayao <hayao@fasc...>
Commiterhayao

Message de Log

[update] : Simple row settings

Change Summary

Modification

--- a/src/libcrshini
+++ b/src/libcrshini
@@ -131,7 +131,7 @@ _crshini_get(){
131131 # _crshini_set file section [param] [value]
132132 _crshini_set(){
133133 # Set variables
134- local _crshini_set_fileline=() _crshini_set_section _crshini_set_param _crshini_set_value __line _crshini_set_insert_line _crshini_set_writed=false _crshini_set_mode
134+ local _crshini_set_fileline=() _crshini_set_section _crshini_set_param _crshini_set_value __line _crshini_set_insert_line _crshini_set_writed=false _crshini_set_modline
135135 if [[ "${_crshini_stdin}" = true ]]; then
136136 cat - > "${_crshini_temp}"
137137 _crshini_set_file="${_crshini_temp}"
@@ -142,12 +142,11 @@ _crshini_set(){
142142 fi
143143
144144 readarray -t _crshini_set_fileline < "${_crshini_set_file}"
145- _crshini_set_section="${1}" _crshini_set_param="${2-""}" _crshini_set_value="${3-""}"
145+ _crshini_set_section="${1}" _crshini_set_param="${2-""}" _crshini_set_value="${3-""}"
146146 _crshini_msg_dbg "セクション: \"${_crshini_set_section}\""
147147 _crshini_msg_dbg "パラメータ: \"${_crshini_set_param}\""
148148
149149 # Copy
150- local _crshini_set_modline
151150 readarray -t _crshini_set_sectionlist < <(printf "%s\n" "${_crshini_set_fileline[@]}" | _crshini_output="-" _crshini_stdin=true _crshini_get)
152151 readarray -t _crshini_set_paramlist < <(printf "%s\n" "${_crshini_set_fileline[@]}" | _crshini_output="-" _crshini_stdin=true _crshini_get "${_crshini_set_section}")
153152 _crshini_msg_dbg "見つかったセクション: $(printf "[%s] " "${_crshini_set_sectionlist[@]}")"
@@ -165,27 +164,15 @@ _crshini_set(){
165164 # Find and Set param
166165 if printf "%s\n" "${_crshini_set_paramlist[@]}" | grep -x "${_crshini_set_param}" 1> /dev/null 2>&1; then
167166 _crshini_msg_dbg "値の書き換えを行います"
168- _crshini_set_insert_line=$(( "$(_crshini_output="-" _crshini_get_linemode=true _crshini_get "${_crshini_set_file}" "${_crshini_set_section}" "${_crshini_set_param}")" ))
169- _crshini_set_mode="rewrite"
167+ _crshini_set_insert_line=$(( "$(_crshini_output="-" _crshini_get_linemode=true _crshini_get "${_crshini_set_file}" "${_crshini_set_section}" "${_crshini_set_param}")" - 1 ))
170168 elif (( "${#_crshini_set_paramlist[@]}" == 0 )) || [[ -z "${_crshini_set_paramlist[*]}" ]]; then
171169 _crshini_msg_dbg "空のセクションに値を追加します"
172- _crshini_set_insert_line="$(_crshini_output="-" _crshini_index_from_str "[${_crshini_set_section}]" "${_crshini_set_fileline[@]}")"
173- _crshini_set_mode="new"
170+ _crshini_set_insert_line="$(( $(_crshini_output="-" _crshini_index_from_str "[${_crshini_set_section}]" "${_crshini_set_fileline[@]}") + 1))"
174171 else
175172 _crshini_msg_dbg "セクションの最後に追記します"
176- _crshini_set_insert_line=$(( "$( _crshini_stdin=true _crshini_output="-" _crshini_get_linemode=true _crshini_get "${_crshini_set_section}" "${_crshini_set_paramlist[-1]}" < "${_crshini_set_file}" )" - 1 ))
177- _crshini_set_mode="new"
173+ _crshini_set_insert_line="$( _crshini_stdin=true _crshini_output="-" _crshini_get_linemode=true _crshini_get "${_crshini_set_section}" "${_crshini_set_paramlist[-1]}" < "${_crshini_set_file}" )"
178174 fi
179175
180- _crshini_msg_dbg "${_crshini_set_insert_line}行目を基準にします"
181- _crshini_msg_dbg "モードは${_crshini_set_mode}です"
182-
183- if [[ "${_crshini_set_mode}" = "new" ]]; then
184- _crshini_set_insert_line=$(( _crshini_set_insert_line + 1 ))
185- elif [[ "${_crshini_set_mode}" = "rewrite" ]]; then
186- _crshini_set_insert_line=$(( _crshini_set_insert_line - 1 ))
187- fi
188-
189176 _crshini_msg_dbg "${_crshini_set_insert_line}行目に設定されました"
190177
191178 for __line in $( seq 0 $(( "${#_crshini_set_fileline[@]}")) ); do
@@ -200,9 +187,10 @@ _crshini_set(){
200187 fi
201188 else
202189 _crshini_msg_dbg "${__line}行目を書き換えました"
203- _crshini_set_modline+=("${_crshini_set_param}=${_crshini_set_value}")
204- [[ "${_crshini_set_mode}" = "new" ]] && _crshini_set_modline+=("")
205- _crshini_set_writed=true
190+ _crshini_set_modline+=("${_crshini_set_param}=${_crshini_set_value}") _crshini_set_writed=true
191+ if [[ -z "${_crshini_set_fileline[$(( __line + 1 ))]+SET}" ]] || [[ "${_crshini_set_fileline[$(( __line + 1 ))]}" = "["*"]" ]]; then
192+ _crshini_set_modline+=("")
193+ fi
206194 fi
207195 done
208196
Afficher sur ancien navigateur de dépôt.