* In these cases we just pass through a character to the
                 * output buffer.
                 */
-               if (is_dict && !strchr(only, c)) {
-                       /* do nothing */
-               } else {
-                       if (isprint(c) &&
-                           flags & ESCAPE_NP && escape_passthrough(c, &p, end))
-                               continue;
+               if (is_dict && !strchr(only, c) &&
+                                         escape_passthrough(c, &p, end))
+                       continue;
 
-                       if (flags & ESCAPE_SPACE && escape_space(c, &p, end))
-                               continue;
+               if (isprint(c) &&
+                   flags & ESCAPE_NP && escape_passthrough(c, &p, end))
+                       continue;
 
-                       if (flags & ESCAPE_SPECIAL && escape_special(c, &p, end))
-                               continue;
+               if (flags & ESCAPE_SPACE && escape_space(c, &p, end))
+                       continue;
 
-                       if (flags & ESCAPE_NULL && escape_null(c, &p, end))
-                               continue;
+               if (flags & ESCAPE_SPECIAL && escape_special(c, &p, end))
+                       continue;
 
-                       /* ESCAPE_OCTAL and ESCAPE_HEX always go last */
-                       if (flags & ESCAPE_OCTAL && escape_octal(c, &p, end))
-                               continue;
+               if (flags & ESCAPE_NULL && escape_null(c, &p, end))
+                       continue;
 
-                       if (flags & ESCAPE_HEX && escape_hex(c, &p, end))
-                               continue;
-               }
+               /* ESCAPE_OCTAL and ESCAPE_HEX always go last */
+               if (flags & ESCAPE_OCTAL && escape_octal(c, &p, end))
+                       continue;
+
+               if (flags & ESCAPE_HEX && escape_hex(c, &p, end))
+                       continue;
 
                escape_passthrough(c, &p, end);
        }