Fix: editing a not encrypted file after a crypted file messed up reading the
text from an undo file.
diff --git a/src/undo.c b/src/undo.c
index 6d50cc8..eb887d8 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -888,7 +888,7 @@
ptr = read_string(fd, len);
#ifdef FEAT_CRYPT
- if (ptr != NULL || *buf->b_p_key != NUL)
+ if (ptr != NULL && *buf->b_p_key != NUL)
crypt_decode(ptr, len);
#endif
return ptr;
@@ -909,7 +909,7 @@
/* If the buffer is encrypted then all text bytes following will be
* encrypted. Numbers and other info is not crypted. */
#ifdef FEAT_CRYPT
- if (*buf->b_p_key)
+ if (*buf->b_p_key != NUL)
{
char_u *header;
int header_len;
@@ -1475,7 +1475,7 @@
if (serialize_header(fp, buf, hash) == FAIL)
goto write_error;
#ifdef FEAT_CRYPT
- if (*buf->b_p_key)
+ if (*buf->b_p_key != NUL)
do_crypt = TRUE;
#endif