{
/* A nasty state machine */
-#define PULL(x) do { if (ctx->pull & XML_PULL_##x) return ctx->state = XML_STATE_##x; case XML_STATE_##x: ; } while (0)
-#define PULL_STATE(x, s) do { if (ctx->pull & XML_PULL_##x) return ctx->state = XML_STATE_##s, XML_STATE_##x; case XML_STATE_##s: ; } while (0)
+#define PULL(x) do { if (ctx->pull & XML_PULL_##x) return ctx->state = XML_STATE_##x; /* fall-thru */ case XML_STATE_##x: ; } while (0)
+#define PULL_STATE(x, s) do { if (ctx->pull & XML_PULL_##x) return ctx->state = XML_STATE_##s, XML_STATE_##x; /* fall-thru */ case XML_STATE_##s: ; } while (0)
TRACE(ctx, "xml_next (state=%u)", ctx->state);
jmp_buf throw_buf;
case 1:
if (unlink(f->name) < 0)
msg(L_ERROR, "unlink(%s): %m", f->name);
+ /* fall-thru */
case 0:
if (close(fd))
msg(L_ERROR, "close(%s): %m", f->name);