I'm confused: you say not to commit if there's no cursor, then test for a cursor, but don't commit - albeit you do *abort* on failure.
Should the comment actually be saying "don't abort if there's a cursor" ?
If so, I'd find the code clearer if it combined the two tests:
```
if (!db->mc && rc != MDB_SUCCESS)
```