Re: Use enum to declare errno values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--- 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]
  Powered by Linux