patch 8.1.1827: allocating more memory than needed for extended structs

Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
diff --git a/src/getchar.c b/src/getchar.c
index 4a3587c..b0e72f5 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -232,7 +232,7 @@
 	    len = MINIMAL_SIZE;
 	else
 	    len = slen;
-	p = alloc(sizeof(buffblock_T) + len);
+	p = alloc(offsetof(buffblock_T, b_str) + len + 1);
 	if (p == NULL)
 	    return; /* no space, just forget it */
 	buf->bh_space = (int)(len - slen);