The below makes perfect sense.  The only question is why was the change made in the first place (I'm referring to revision 4.91 of
fso_cfscalls0.cc)?

Jan Harkes wrote:
Looking at the source it probably should be uid_t, that seems to be the
type that is passed between SetAttr/ConnectedSetAttr/DisconnectedSetAttr.

  
Everything appears to compile fine with this change.
    

It probably doesn't matter much whichever way this is changed, since it
is assigned to a 'uid_t Owner' field in the VenusStat structure.

So it comes in as an unsigned int which is cast to a unsigned long int
when passed to LocalSetAttr and finally back to an unsigned int when it
is assigned to the Owner field.

By defining the function as 'uid_t' we skip the unnecessary cast to long,
which doesn't actually do anything on a 32-bit CPU.

Jan

  

Reply via email to