Match the exact account name in password retrieval - pee - Pee a password manag… | |
git clone git://vernunftzentrum.de/pee.git | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit a485baf0ea2485bcddd5f60bc067c3f3aa4c7179 | |
parent 7777da6a41c52ab262aac89c4fa34a6ee9269b4b | |
Author: Christian Kellermann <[email protected]> | |
Date: Tue, 12 Jan 2016 12:57:05 +0100 | |
Match the exact account name in password retrieval | |
This also makes it possible to remove the search-entry and get-* | |
procedures which have not been in use besides get-password. | |
Diffstat: | |
pee.scm | 32 +++++-------------------------- | |
1 file changed, 5 insertions(+), 27 deletions(-) | |
--- | |
diff --git a/pee.scm b/pee.scm | |
@@ -136,28 +136,6 @@ | |
(define (db-keys alist) (map car alist)) | |
-(define (search-entry db entry) | |
- (let* ((regex (string->irregex (string-append ".*" entry ".*") 'i 'utf8)) | |
- (result | |
- (find (lambda (k) (irregex-match regex k)) | |
- (db-keys db)))) | |
- (and result | |
- (not (null? result)) | |
- (cons result (alist-ref result db equal?))))) | |
- | |
-(define (get-result db entry op) | |
- (let ((entry (search-entry db entry))) | |
- (and entry (> (length entry) 1) (op entry)))) | |
- | |
-(define (get-user db entry) | |
- (get-result db entry second)) | |
- | |
-(define (get-password db entry) | |
- (get-result db entry third)) | |
- | |
-(define (get-comment db entry) | |
- (get-result db entry fourth)) | |
- | |
(define (update-db db key #!key user password comment) | |
(let ((entry (or (alist-ref key db equal?) (make-list 3 "")))) | |
(alist-update key | |
@@ -306,11 +284,11 @@ | |
accounts)))) | |
(define (do-password db e) | |
- (let ((p (get-password db e))) | |
- (if p (print p) | |
- (begin | |
- (print "Error: password for " e " not found.") | |
- (exit 1))))) | |
+ (cond ((alist-ref e db equal?) => | |
+ (lambda (e) (print (second e)))) | |
+ (else | |
+ (print "Error: password for " e " not found.") | |
+ (exit 1)))) | |
(define (do-init db-name content) | |
(print "I will ask you twice for the passphrase to encrypt the password stor… |