I don't know what should be the naming convention.
We stick to snake case usually for new code.
We already have `srcUnit`, but here we have `src_argp`. To be aligned, we should gave `srcArgp`.
Good catch! I renamed `srcUnit` to `src_unit`.
What name `src_argp` means?
It meant argument pointer to source rect, that is overriden by `src_rect` local variable if the pointer is NULL.
I renamed `src_argp` to `src_rect`, and made it hold the final source rect (either the argument as-is or `&src_rect_buf`).