diff --git a/src/chars.c b/src/chars.c
index 4d04d502ca7b699fdf73765f6a618ab11e7e7928..f5b4a24fbe3db6abe2d32c6fbd25465804a0904c 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -320,21 +320,21 @@ int mbwidth(const char *c)
 	return 1;
 }
 
-/* Return the maximum width in bytes of a multibyte character. */
+/* Return the maximum length (in bytes) of a character. */
 int mb_cur_max(void)
 {
-    return
 #ifdef ENABLE_UTF8
-	use_utf8 ? MB_CUR_MAX :
+    if (use_utf8)
+	return MB_CUR_MAX;
+    else
 #endif
-	1;
+	return 1;
 }
 
-/* Convert the Unicode value in chr to a multibyte character with the
- * same wide character value as chr, if possible.  If the conversion
- * succeeds, return the (dynamically allocated) multibyte character and
- * its length.  Otherwise, return an undefined (dynamically allocated)
- * multibyte character and a length of zero. */
+/* Convert the Unicode value in chr to a multibyte character, if possible.
+ * If the conversion succeeds, return the (dynamically allocated) multibyte
+ * character and its length.  Otherwise, return an undefined (dynamically
+ * allocated) multibyte character and a length of zero. */
 char *make_mbchar(long chr, int *chr_mb_len)
 {
     char *chr_mb;
@@ -363,8 +363,7 @@ char *make_mbchar(long chr, int *chr_mb_len)
 
 /* Parse a multibyte character from buf.  Return the number of bytes
  * used.  If chr isn't NULL, store the multibyte character in it.  If
- * col isn't NULL, store the new display width in it.  If *buf is '\t',
- * we expect col to have the current display width. */
+ * col isn't NULL, add the character's width (in columns) to it. */
 int parse_mbchar(const char *buf, char *chr, size_t *col)
 {
     int length;
@@ -390,9 +389,9 @@ int parse_mbchar(const char *buf, char *chr, size_t *col)
 		chr[i] = buf[i];
 	}
 
-	/* When requested, store the width of the wide character in col. */
+	/* When requested, add the width of the character to col. */
 	if (col != NULL) {
-	    /* If we have a tab, get its width in columns using the
+	    /* If we have a tab, compute its width in columns based on the
 	     * current value of col. */
 	    if (*buf == '\t')
 		*col += tabsize - *col % tabsize;
@@ -400,8 +399,7 @@ int parse_mbchar(const char *buf, char *chr, size_t *col)
 	     * column for the "^", and one for the visible character. */
 	    else if (is_cntrl_mbchar(buf)) {
 		*col += 2;
-	    /* If we have a normal character, get its width in columns
-	     * normally. */
+	    /* If we have a normal character, get its width normally. */
 	    } else
 		*col += mbwidth(buf);
 	}
@@ -415,9 +413,9 @@ int parse_mbchar(const char *buf, char *chr, size_t *col)
 	if (chr != NULL)
 	    *chr = *buf;
 
-	/* When requested, store the width of the wide character in col. */
+	/* When requested, add the width of the character to col. */
 	if (col != NULL) {
-	    /* If we have a tab, get its width in columns using the
+	    /* If we have a tab, compute its width in columns using the
 	     * current value of col. */
 	    if (*buf == '\t')
 		*col += tabsize - *col % tabsize;
@@ -908,10 +906,11 @@ bool is_valid_mbstring(const char *s)
 {
     assert(s != NULL);
 
-    return
 #ifdef ENABLE_UTF8
-	use_utf8 ? (mbstowcs(NULL, s, 0) != (size_t)-1) :
+    if (use_utf8)
+	return (mbstowcs(NULL, s, 0) != (size_t)-1);
+    else
 #endif
-	TRUE;
+	return TRUE;
 }
 #endif /* !DISABLE_NANORC */