lkml.org 
[lkml]   [2008]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/3] ipc: Convert handmade 'max' to max().
Sorry for the late response, have been away during the holidays.

Andrew Morton wrote:
> On Mon, 17 Dec 2007 03:35:55 +0100 (MET) Richard Knutsson <ricknu-0@student.ltu.se> wrote:
>
>
>> Convert handmade 'max' to max().
>>
>> ...
>>
>> --- a/ipc/msg.c
>> +++ b/ipc/msg.c
>> @@ -473,7 +473,7 @@ asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf)
>> up_read(&msg_ids(ns).rw_mutex);
>> if (copy_to_user(buf, &msginfo, sizeof(struct msginfo)))
>> return -EFAULT;
>> - return (max_id < 0) ? 0 : max_id;
>> + return max(max_id, 0);
>>
>
> I don't think I like that much.
>
> I tend to think of max() as being an arithmetic sort of thing: pick the
> largest of two scalars.
>
> But the code which you're changing is a _logical_ operation. It says "if
> ipc_get_maxid() returned an error, then return zero. Otherwise return
> whatever ipc_get_maxid() returned".
>
> Yes, max() will do the right thing here, but I think it's a bit of weird
> trick?
>
>
> I mean, if ipc_get_maxid() were a better function, it would return a -ve
> errno when something failed rather than the present dopey hard-coded -1.
> In which case the code would read
>
> return IS_ERR_VALUE(max_id) ? 0 : max_id;
>
> in which case, converting it to max() would be even less appropriate. If
> you see what I mean...
>
Yes, have to agree. Were too quick with the changing...

Thanks
Richard Knutsson



\
 
 \ /
  Last update: 2008-01-04 07:49    [from the cache]
©2003-2011 Jasper Spaans