Fixed annoying bug on edit() after months of leaving it unnoticed

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: file:///srv/svn/repo/kanako/trunk@23 62e5d677-aa6e-8c4a-b8cb-b9416171cb8e
This commit is contained in:
yakumo.izuru 2024-07-13 22:32:13 +00:00
parent 12ab49594b
commit 0ffc813500
4 changed files with 59 additions and 84 deletions

View File

@ -1,18 +1,14 @@
PREFIX=/usr/local PREFIX=/usr/local
install: install-bin install-examples install-man fmt:
uninstall: uninstall-bin uninstall-examples uninstall-man shfmt --posix --write kanako
install-bin: install:
install -Dm0755 kanako ${DESTDIR}${PREFIX}/bin/kanako install -Dm0755 kanako ${DESTDIR}${PREFIX}/bin/kanako
install-examples:
install -Dm0600 kanako.conf.example ${DESTDIR}${PREFIX}/share/examples/kanako/kanako.conf install -Dm0600 kanako.conf.example ${DESTDIR}${PREFIX}/share/examples/kanako/kanako.conf
install-man:
install -Dm0600 kanako.mdoc ${DESTDIR}${PREFIX}/share/man/man1/kanako.1 install -Dm0600 kanako.mdoc ${DESTDIR}${PREFIX}/share/man/man1/kanako.1
install -Dm0600 kanako.conf.mdoc ${DESTDIR}${PREFIX}/share/man/man5/kanako.conf.5 install -Dm0600 kanako.conf.mdoc ${DESTDIR}${PREFIX}/share/man/man5/kanako.conf.5
uninstall-bin: uninstall:
rm -f ${PREFIX}/bin/kanako rm -f ${PREFIX}/bin/kanako
uninstall-examples: rm -f ${PREFIX}/share/examples/kanako/kanako.conf
rm -f ${PREFIX}/share/examples/kanako/kanako.conf ${PREFIX}/share/exmaples/kanako/kanakomenu.conf
uninstall-man:
rm -f ${PREFIX}/share/man/man1/kanako.1 ${PREFIX}/share/man/man5/kanako.conf.5 rm -f ${PREFIX}/share/man/man1/kanako.1 ${PREFIX}/share/man/man5/kanako.conf.5

31
kanako
View File

@ -14,7 +14,7 @@ else
fi fi
if test -f "${kanako_conf_dir}/kanako.conf"; then if test -f "${kanako_conf_dir}/kanako.conf"; then
. "${kanako_conf_dir}/kanako.conf"; . "${kanako_conf_dir}/kanako.conf"
else else
printf "Configuration file has not been found!\n" printf "Configuration file has not been found!\n"
printf "Copy kanako.conf from the examples directory,\n" printf "Copy kanako.conf from the examples directory,\n"
@ -26,11 +26,14 @@ copy() {
view "$1" | "${kanako_clip_cmd}" view "$1" | "${kanako_clip_cmd}"
} }
edit() { edit() {
# FIXME: Need a way to find out if file exists if [ -f ${1%%.enc}.enc ]; then
${kanako_encrypt_cmd} ${kanako_decrypt_args} ${1%%.enc}.enc > ${1%%.enc} ${kanako_encrypt_cmd} ${kanako_decrypt_args} ${1%%.enc}.enc >${1%%.enc}
"${EDITOR:-${EDITOR:-vi}}" "${1%%.enc}" "${EDITOR:-${EDITOR:-vi}}" "${1%%.enc}"
${kanako_encrypt_cmd} ${kanako_encrypt_args} ${1%%.enc} > ${1%%.enc}.enc ${kanako_encrypt_cmd} ${kanako_encrypt_args} ${1%%.enc} >${1%%.enc}.enc
rm "${1%%.enc}" rm "${1%%.enc}"
else
printf "%s does not exist, maybe there was a typo on your end?\n" "${1%%.enc}.enc"
fi
} }
gen() { gen() {
printf "%s\n" $(strings </dev/urandom | dd bs=1 count="${1:-30}" 2>/dev/null | tr -d ' \t\n\r') printf "%s\n" $(strings </dev/urandom | dd bs=1 count="${1:-30}" 2>/dev/null | tr -d ' \t\n\r')
@ -49,7 +52,7 @@ new() {
"${EDITOR:-${EDITOR:-vi}}" "${tmpfile}" "${EDITOR:-${EDITOR:-vi}}" "${tmpfile}"
mkdir -p "$(dirname "$1")" mkdir -p "$(dirname "$1")"
${kanako_encrypt_cmd} ${kanako_encrypt_args} ${tmpfile} > ${1%%.enc}.enc ${kanako_encrypt_cmd} ${kanako_encrypt_args} ${tmpfile} >${1%%.enc}.enc
rm ${tmpfile} rm ${tmpfile}
} }
delete_directory() { delete_directory() {
@ -75,13 +78,13 @@ view() {
} }
case $1 in case $1 in
-c) copy $2 ;; -c) copy $2 ;;
-e) edit $2 ;; -e) edit $2 ;;
-g) gen $2 ;; -g) gen $2 ;;
-l) list $2;; -l) list $2 ;;
-n) new $2 ;; -n) new $2 ;;
-R) delete_directory $2 ;; -R) delete_directory $2 ;;
-r) delete_file $2 ;; -r) delete_file $2 ;;
-v) view $2 ;; -v) view $2 ;;
*) usage ;; *) usage ;;
esac esac

View File

@ -6,14 +6,8 @@
.Nd the adaptable password manager .Nd the adaptable password manager
.Sh SYNOPSIS .Sh SYNOPSIS
.Nm .Nm
.Fl c Ar args .Op Fl ceglnrRv
.Fl e Ar args .Op Ar args
.Fl g Ar args
.Fl l
.Fl n Ar args
.Fl r Ar args
.Fl R Ar args
.Fl v Ar args
.Sh DESCRIPTION .Sh DESCRIPTION
It is a clean rewrite of It is a clean rewrite of
.Xr ayu 1 .Xr ayu 1

18
mkfile
View File

@ -1,18 +0,0 @@
PREFIX=/usr/local
install:V: install-bin install-examples install-man
uninstall:V: uninstall-bin uninstall-examples uninstall-man
install-bin:
install -Dm0755 kanako $DESTDIR$PREFIX/bin/kanako
install-examples:
install -Dm0600 kanako.conf.example $DESTDIR$PREFIX/share/examples/kanako/kanako.conf
install-man:
install -Dm0600 kanako.mdoc $DESTDIR$PREFIX/share/man/man1/kanako.1
install -Dm0600 kanako.conf.mdoc $DESTDIR$PREFIX/share/man/man5/kanako.conf.5
uninstall-bin:
rm -f $PREFIX/bin/kanako
uninstall-examples:
rm -f $PREFIX/share/examples/kanako/kanako.conf $PREFIX/share/exmaples/kanako/kanakomenu.conf
uninstall-man:
rm -f $PREFIX/share/man/man1/kanako.1 $PREFIX/share/man/man5/kanako.conf.5