patch 8.2.5051: check for autocmd_add() event argument is confusing

Problem:    Check for autocmd_add() event argument is confusing.
Solution:   Make the code more straightforward.
diff --git a/src/autocmd.c b/src/autocmd.c
index 2050da6..71aeb50 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -2951,26 +2951,24 @@
 		    if (eli == NULL)
 			break;
 		    if (eli->li_tv.v_type != VAR_STRING
-			    || eli->li_tv.vval.v_string == NULL)
+			    || (p = eli->li_tv.vval.v_string) == NULL)
 		    {
 			emsg(_(e_string_required));
-			continue;
+			break;
 		    }
-		    p = eli->li_tv.vval.v_string;
 		}
 		else
 		{
-		    if (end == NULL)
-			p = end = event_name;
-		    if (end == NULL || *end == NUL)
+		    if (p == NULL)
+			p = event_name;
+		    if (p == NULL || *p == NUL)
 			break;
 		}
-		if (p == NULL)
-		    continue;
 
 		event = event_name2nr(p, &end);
 		if (event == NUM_EVENTS || *end != NUL)
 		{
+		    // this also catches something following a valid event name
 		    semsg(_(e_no_such_event_str), p);
 		    retval = VVAL_FALSE;
 		    break;