summaryrefslogtreecommitdiff
path: root/ratox.c
diff options
context:
space:
mode:
authorsin <sin@2f30.org>2014-09-22 11:49:53 +0100
committersin <sin@2f30.org>2014-09-22 11:49:53 +0100
commita91dcb3ae4a5a01a9546d11563198831de1cda7e (patch)
tree0ecbce58f9dd3cf90789f46cb37294042dad6a32 /ratox.c
parent88e7c1199c1b9260bf7bf017363093e1b04e0e10 (diff)
Keep asking for password if it doesn't match
Diffstat (limited to 'ratox.c')
-rw-r--r--ratox.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/ratox.c b/ratox.c
index 9c68003..f7034c7 100644
--- a/ratox.c
+++ b/ratox.c
@@ -601,17 +601,21 @@ dataload(void)
exit(EXIT_FAILURE);
}
- if (encryptsave == 1)
- r = tox_encrypted_load(tox, data, sz, passphrase, pplen);
- else
+ if (encryptsave == 1) {
+ while (1) {
+ r = tox_encrypted_load(tox, data, sz, passphrase, pplen);
+ if (r < 0)
+ readpass();
+ else
+ break;
+ }
+ } else {
r = tox_load(tox, data, sz);
- if (r < 0) {
- fprintf(stderr, "%s failed\n",
- encryptsave == 1 ? "tox_encrypted_load" : "tox_load");
- exit(EXIT_FAILURE);
- } else if (r == 1) {
- fprintf(stderr, "Found encrypted %s but encryption is disabled\n",
- DATAFILE);
+ if (r < 0)
+ fprintf(stderr, "tox_load() failed\n");
+ else if (r == 1)
+ fprintf(stderr, "Found encrypted %s but encryption is disabled\n",
+ DATAFILE);
exit(EXIT_FAILURE);
}