James Morris wrote:
> On Sun, 6 Jul 2003, Davide Libenzi wrote:
>
>
>>On Sun, 6 Jul 2003, Matthew Wilcox wrote:
>>
>>
>>>Why on earth does it return the value of its argument?
>>
>>Maybe for the same reason 'strcpy' returns 'dest'. It allows you to use
>>the function in a function parameter :
>
>
> It also makes calling code cleaner when copying refcounted objects:
>
> e.g.
> new->foo = foo_get(old->foo);
> new->bar = bar_get(old->bar);
>
> otherwise, you'd have to do:
>
> foo_get(old->foo);
> new->foo = old->foo;
> bar_get(old->bar);
> new->bar = old->bar;
well...
struct blah *foo_ref = foo;
... not using foo_ref ...
foo_get(foo_ref);
... using foo_ref ...
foo_put(foo_ref);
versus
struct blah *foo_ref;
... not using foo_ref ...
foo_ref = foo_get(foo);
... using foo_ref ...
foo_put(foo_ref);
I suppose it's a matter of taste rather than necessity.
As a tangent, if kobject_get is so small now, why not just make it
static inline to optimize this case?
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:27 EST