indiquer si le fichier a été modifié

This commit is contained in:
Jephté Clain 2014-01-24 08:29:41 +04:00
parent 8ea0f060dd
commit 99e6665481
1 changed files with 11 additions and 4 deletions

View File

@ -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"