patch 8.1.1611: bufadd() reuses existing buffer without a name

Problem:    Bufadd() reuses existing buffer without a name.
Solution:   When the name is empty always create a new buffer.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 954ea9f..01afa3d 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1929,7 +1929,9 @@
     static void
 f_bufadd(typval_T *argvars, typval_T *rettv)
 {
-    rettv->vval.v_number = buflist_add(tv_get_string(&argvars[0]), 0);
+    char_u *name = tv_get_string(&argvars[0]);
+
+    rettv->vval.v_number = buflist_add(*name == NUL ? NULL : name, 0);
 }
 
 /*