diff --git a/src/auto/configure b/src/auto/configure
index 6673de8..7a65bec 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -4188,14 +4188,10 @@
 main ()
 {
 
-  struct with_flexible_member {
-    int count;  // comment
-    char text[]; // another comment
-  };
   enum {
-    one,
-    two,
-    three,
+    one,   // one comment
+    two,   // two comments
+    three, // three comments
   };
   long long int a = 1;
   long long unsigned b = 2;
diff --git a/src/configure.ac b/src/configure.ac
index 4ae21a1..78023ad 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -36,14 +36,10 @@
 dnl - flexible array member
 AC_MSG_CHECKING(if the compiler can handle Vim code)
 AC_TRY_COMPILE([#include <stdio.h>], [
-  struct with_flexible_member {
-    int count;  // comment
-    char text[]; // another comment
-  };
   enum {
-    one,
-    two,
-    three,
+    one,   // one comment
+    two,   // two comments
+    three, // three comments
   };
   long long int a = 1;
   long long unsigned b = 2;
diff --git a/src/getchar.c b/src/getchar.c
index 5a5041a..285d5d5 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -40,9 +40,9 @@
 
 #define MINIMAL_SIZE 20			/* minimal size for b_str */
 
-static buffheader_T redobuff = {NULL, NULL, 0, 0};
-static buffheader_T old_redobuff = {NULL, NULL, 0, 0};
-static buffheader_T recordbuff = {NULL, NULL, 0, 0};
+static buffheader_T redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+static buffheader_T old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+static buffheader_T recordbuff = {{NULL, {NUL}}, NULL, 0, 0};
 
 static int typeahead_char = 0;		/* typeahead char that's not flushed */
 
@@ -138,13 +138,12 @@
 {
     buffblock_T	*p, *np;
 
-    for (p = buf->bh_first; p != NULL; p = np)
+    for (p = buf->bh_first.b_next; p != NULL; p = np)
     {
 	np = p->b_next;
 	vim_free(p);
     }
-    buf->bh_first = NULL;
-    buf->bh_curr = NULL;
+    buf->bh_first.b_next = NULL;
 }
 
 /*
@@ -160,16 +159,16 @@
     char_u	    *p = NULL;
     char_u	    *p2;
     char_u	    *str;
-    buffblock_T	    *bp;
+    buffblock_T *bp;
 
     /* compute the total length of the string */
-    for (bp = buffer->bh_first; bp != NULL; bp = bp->b_next)
+    for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
 	count += (long_u)STRLEN(bp->b_str);
 
     if ((count || dozero) && (p = lalloc(count + 1, TRUE)) != NULL)
     {
 	p2 = p;
-	for (bp = buffer->bh_first; bp != NULL; bp = bp->b_next)
+	for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
 	    for (str = bp->b_str; *str; )
 		*p2++ = *str++;
 	*p2 = NUL;
@@ -233,17 +232,17 @@
     long		slen)	/* length of "s" or -1 */
 {
     buffblock_T *p;
-    long_u	len;
+    long_u	    len;
 
     if (slen < 0)
 	slen = (long)STRLEN(s);
     if (slen == 0)				/* don't add empty strings */
 	return;
 
-    if (buf->bh_first == NULL)	/* first add to list */
+    if (buf->bh_first.b_next == NULL)	/* first add to list */
     {
 	buf->bh_space = 0;
-	buf->bh_curr = NULL;
+	buf->bh_curr = &(buf->bh_first);
     }
     else if (buf->bh_curr == NULL)	/* buffer has already been read */
     {
@@ -251,9 +250,9 @@
 	return;
     }
     else if (buf->bh_index != 0)
-	mch_memmove(buf->bh_first->b_str,
-		    buf->bh_first->b_str + buf->bh_index,
-		    STRLEN(buf->bh_first->b_str + buf->bh_index) + 1);
+	mch_memmove(buf->bh_first.b_next->b_str,
+		    buf->bh_first.b_next->b_str + buf->bh_index,
+		    STRLEN(buf->bh_first.b_next->b_str + buf->bh_index) + 1);
     buf->bh_index = 0;
 
     if (buf->bh_space >= (int)slen)
@@ -268,25 +267,16 @@
 	    len = MINIMAL_SIZE;
 	else
 	    len = slen;
-	p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len + 1),
-									 TRUE);
+	p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len),
+									TRUE);
 	if (p == NULL)
 	    return; /* no space, just forget it */
 	buf->bh_space = (int)(len - slen);
 	vim_strncpy(p->b_str, s, (size_t)slen);
 
-	if (buf->bh_curr == NULL)
-	{
-	    p->b_next = NULL;
-	    buf->bh_first = p;
-	    buf->bh_curr = p;
-	}
-	else
-	{
-	    p->b_next = buf->bh_curr->b_next;
-	    buf->bh_curr->b_next = p;
-	    buf->bh_curr = p;
-	}
+	p->b_next = buf->bh_curr->b_next;
+	buf->bh_curr->b_next = p;
+	buf->bh_curr = p;
     }
     return;
 }
@@ -358,10 +348,10 @@
 }
 
 /* First read ahead buffer. Used for translated commands. */
-static buffheader_T readbuf1 = {NULL, NULL, 0, 0};
+static buffheader_T readbuf1 = {{NULL, {NUL}}, NULL, 0, 0};
 
 /* Second read ahead buffer. Used for redo. */
-static buffheader_T readbuf2 = {NULL, NULL, 0, 0};
+static buffheader_T readbuf2 = {{NULL, {NUL}}, NULL, 0, 0};
 
 /*
  * Get one byte from the read buffers.  Use readbuf1 one first, use readbuf2
@@ -386,17 +376,17 @@
     char_u	c;
     buffblock_T	*curr;
 
-    if (buf->bh_first == NULL)  /* buffer is empty */
+    if (buf->bh_first.b_next == NULL)  /* buffer is empty */
 	return NUL;
 
-    curr = buf->bh_first;
+    curr = buf->bh_first.b_next;
     c = curr->b_str[buf->bh_index];
 
     if (advance)
     {
 	if (curr->b_str[++buf->bh_index] == NUL)
 	{
-	    buf->bh_first = curr->b_next;
+	    buf->bh_first.b_next = curr->b_next;
 	    vim_free(curr);
 	    buf->bh_index = 0;
 	}
@@ -410,14 +400,14 @@
     static void
 start_stuff(void)
 {
-    if (readbuf1.bh_first != NULL)
+    if (readbuf1.bh_first.b_next != NULL)
     {
-	readbuf1.bh_curr = readbuf1.bh_first;
+	readbuf1.bh_curr = &(readbuf1.bh_first);
 	readbuf1.bh_space = 0;
     }
-    if (readbuf2.bh_first != NULL)
+    if (readbuf2.bh_first.b_next != NULL)
     {
-	readbuf2.bh_curr = readbuf2.bh_first;
+	readbuf2.bh_curr = &(readbuf2.bh_first);
 	readbuf2.bh_space = 0;
     }
 }
@@ -428,8 +418,8 @@
     int
 stuff_empty(void)
 {
-    return (readbuf1.bh_first == NULL
-	 && readbuf2.bh_first == NULL);
+    return (readbuf1.bh_first.b_next == NULL
+	 && readbuf2.bh_first.b_next == NULL);
 }
 
 /*
@@ -439,7 +429,7 @@
     int
 readbuf1_empty(void)
 {
-    return (readbuf1.bh_first == NULL);
+    return (readbuf1.bh_first.b_next == NULL);
 }
 
 /*
@@ -504,7 +494,7 @@
     {
 	free_buff(&old_redobuff);
 	old_redobuff = redobuff;
-	redobuff.bh_first = NULL;
+	redobuff.bh_first.b_next = NULL;
     }
 }
 
@@ -519,7 +509,7 @@
     {
 	free_buff(&redobuff);
 	redobuff = old_redobuff;
-	old_redobuff.bh_first = NULL;
+	old_redobuff.bh_first.b_next = NULL;
 	start_stuff();
 	while (read_readbuffers(TRUE) != NUL)
 	    ;
@@ -536,9 +526,9 @@
     char_u	*s;
 
     save_redo->sr_redobuff = redobuff;
-    redobuff.bh_first = NULL;
+    redobuff.bh_first.b_next = NULL;
     save_redo->sr_old_redobuff = old_redobuff;
-    old_redobuff.bh_first = NULL;
+    old_redobuff.bh_first.b_next = NULL;
 
     /* Make a copy, so that ":normal ." in a function works. */
     s = get_buffcont(&save_redo->sr_redobuff, FALSE);
@@ -757,9 +747,9 @@
     if (init)
     {
 	if (old_redo)
-	    bp = old_redobuff.bh_first;
+	    bp = old_redobuff.bh_first.b_next;
 	else
-	    bp = redobuff.bh_first;
+	    bp = redobuff.bh_first.b_next;
 	if (bp == NULL)
 	    return FAIL;
 	p = bp->b_str;
@@ -1382,9 +1372,9 @@
     old_char = -1;
 
     tp->save_readbuf1 = readbuf1;
-    readbuf1.bh_first = NULL;
+    readbuf1.bh_first.b_next = NULL;
     tp->save_readbuf2 = readbuf2;
-    readbuf2.bh_first = NULL;
+    readbuf2.bh_first.b_next = NULL;
 # ifdef USE_INPUT_BUF
     tp->save_inputbuf = get_input_buf();
 # endif
diff --git a/src/structs.h b/src/structs.h
index e3ad867..35433b1 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -511,7 +511,7 @@
 struct buffblock
 {
     buffblock_T	*b_next;	/* pointer to next buffblock */
-    char_u	b_str[];	/* contents (flexible array) */
+    char_u	b_str[1];	/* contents (actually longer) */
 };
 
 /*
@@ -519,7 +519,7 @@
  */
 struct buffheader
 {
-    buffblock_T	*bh_first;	/* first block of the list */
+    buffblock_T	bh_first;	/* first (dummy) block of list */
     buffblock_T	*bh_curr;	/* buffblock for appending */
     int		bh_index;	/* index for reading */
     int		bh_space;	/* space in bh_curr for appending */
diff --git a/src/version.c b/src/version.c
index 3abe29a..c2fc3f3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1735,
+/**/
     1734,
 /**/
     1733,
