Return a struct instead. This frees parse() of an assumption that -1
is an error value and leaves one in/out argument. Made this last an
actual pointer argument instead of a non-const ref. Shuffled the
remaining arguments so that this in/out is last and the offset into it
at which it gets modified is immediately before it. Removed a
spurious qdoc comment in the process.
Change-Id: I7d980e70a7711b1d706151eedce956fe2093e48e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>