lkml.org 
[lkml]   [2001]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: linux/macros.h(new) and linux/list.h(mod) ...
Date
On Thursday 05 July 2001 23:45, Davide Libenzi wrote:
> On 05-Jul-2001 David Woodhouse wrote:
> > davidel@xmailserver.org said:
> >> This patch add a new linux/macros.h that is supposed to host utility
> >> macros that otherwise developers are forced to define in their files.
> >> This version contain only min(), max() and abs().
> >
> > Consider min(x++,y++). Try:
> >
> >#define min(x,y) ({ typeof((x)) _x = (x); typeof((y)) _y = (y);
> > (_x>_y)?_y:_x; #})
> >#define max(x,y) ({ typeof((x)) _x = (x); typeof((y)) _y = (y);
> > (_x>_y)?_x:_y; #})
>
> Yep, it's better.

This program prints garbage:

#define min(x,y) ({ typeof((x)) _x = (x); typeof((y)) _y = (y); (_x>_y)?_y:_x; })

int main (void) {
int _x = 3, _y = 4;
printf("%i\n", min(_x, _y));
return 0;
}

--
Daniel
-
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/

\
 
 \ /
  Last update: 2005-03-22 12:56    [W:0.084 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site