return_to_param: long to short should never return a longer version
This is supposed to be looking for assignments like:
struct foo *p = some->very->long_variable;
Because we refer to p->xxx instead of some->very->long_variable->xxx in
the code. But sometimes we do things like:
p = alloc();
some->very->long_variable = p;
We'll still refer to p->xxx in the function, so we don't want to return the
long version of that variable.
I did some related cleanup as well.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>