indiquer si le fichier a été modifié
This commit is contained in:
parent
8ea0f060dd
commit
99e6665481
15
ulib/conf
15
ulib/conf
|
@ -646,6 +646,9 @@ function gconf_addline() {
|
|||
# cycle recommence, au plus MAX-1 fois. Utiliser MAX=-1 pour désactiver
|
||||
# la limite
|
||||
# Cette fonction nécessite gawk et ignore la locale
|
||||
# Retourner 0 si l'ajout s'est fait correctement. Retourner 1 si BEGIN n'a
|
||||
# pas été trouvé, et donc aucun ajout n'a été effectué. Retourner 2 si une
|
||||
# erreur quelconque s'est produite
|
||||
|
||||
eval "$(utools_local)"
|
||||
local -a beginlines newlines
|
||||
|
@ -658,20 +661,20 @@ function gconf_addline() {
|
|||
-n:,--max: max= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || {
|
||||
eerror "$args"
|
||||
return 1
|
||||
return 2
|
||||
}
|
||||
conf="$1"; shift
|
||||
[ -n "$conf" ] || {
|
||||
eerror "Vous devez spécifier le fichier à modifier"
|
||||
return 1
|
||||
return 2
|
||||
}
|
||||
[ -f "$conf" ] || {
|
||||
eerror "$conf: fichier introuvable"
|
||||
return 1
|
||||
return 2
|
||||
}
|
||||
[ $# -gt 0 ] || {
|
||||
eerror "Vous devez spécifier la ligne à rajouter"
|
||||
return 1
|
||||
return 2
|
||||
}
|
||||
[ -n "$max" ] || max=1
|
||||
newlines=("$@")
|
||||
|
@ -683,6 +686,7 @@ BEGIN {
|
|||
found = 0
|
||||
writeline = 1
|
||||
if (beginlines_count == 0) found = 1
|
||||
modified = 0
|
||||
}
|
||||
function writelines_maybe() {
|
||||
if (writeline) {
|
||||
|
@ -690,6 +694,7 @@ function writelines_maybe() {
|
|||
print newlines[i]
|
||||
}
|
||||
writeline = 0
|
||||
modified = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -721,6 +726,8 @@ END {
|
|||
if (max != 0 && found && writeline) {
|
||||
writelines_maybe()
|
||||
}
|
||||
if (modified) exit 0
|
||||
else exit 1
|
||||
}
|
||||
'
|
||||
edebug "$script"
|
||||
|
|
Loading…
Reference in New Issue