struct_assignment: don't double parse ulong assignments
The bug is that when have code like;
ulong_var = foo;
It creates one fake assignment so what it parses looks like this:
ulong_var = foo;
ulong_var = foo;
The struct_assiment code is supposed to fake SYM_BASETYPE assignments
for memcpy() otherwise there is no need to fake anything for regular
assignments.
This code works for struct assignments because we want to fake an
assignment for each struct member, and for pointers assignments like
"p = my_ptr;" we want to fake an assignment for "*p = *my_ptr". If
we can't determine the type of expr->left then don't fake anything.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>