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/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 34a4bbf..a08cef7 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1539,6 +1539,20 @@
   call assert_equal(['some', 'text'], getbufline(buf, 1, '$'))
   call assert_equal(curbuf, bufnr(''))
 
+  let buf1 = bufadd('')
+  let buf2 = bufadd('')
+  call assert_notequal(0, buf1)
+  call assert_notequal(0, buf2)
+  call assert_notequal(buf1, buf2)
+  call assert_equal(1, bufexists(buf1))
+  call assert_equal(1, bufexists(buf2))
+  call assert_equal(0, bufloaded(buf1))
+  exe 'bwipe ' .. buf1
+  call assert_equal(0, bufexists(buf1))
+  call assert_equal(1, bufexists(buf2))
+  exe 'bwipe ' .. buf2
+  call assert_equal(0, bufexists(buf2))
+
   bwipe someName
   bwipe otherName
   call assert_equal(0, bufexists('someName'))