--- Nikita Danilov <[email protected]> a écrit :
>
> No it shouldn't. Following is a perfectly legal thing to do in C:
>
> enum side {
> LEFT,
> RIGHT
> };
>
> int foo(int x)
> {
> if (x & 0x1)
> return LEFT;
> else
> return RIGHT;
> }
>
> This is not C++ fortunately.
>
> Nikita.
>
hmm, are you sure that debuggers will tell you that foo returns LEFT/RIGHT but
not any integer value ?
I just give a try and unfortunately you seem to be wrong here:
""""
(gdb) s
foo (x=1) at enum_test.c:8
8 if (x & 0x1)
(gdb) finish
Run till exit from #0 foo (x=1) at enum_test.c:8
0x0804837c in main (argc=1, argv=0xbfe14dc4) at enum_test.c:17
17 return foo(1);
Value returned is $1 = 0
(gdb)
""""
But we needn't change all function prototypes that return an errno value in one
shot because as you said we can mix enum and int.
Thanks
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]