Hello,

in your patch from 4.11., "1. Use linux_syscall_numbers.h. 2. Fix a format  
string (use inttypes.h)....", there is:


@@ -174,7 +177,7 @@ void test_mbind(void)
                ret = 1;
                return;
        }
-       printf("%lx\n", addr);
+       printf("%" __PRI64_PREFIX "x\n", (long) addr);
        ret = mbind(addr, len, MPOL_BIND, &mask, 8 * sizeof(mask), 0);
  }

I am not happy with that, particularly:

1. You use a 64-bit format specifier, but pass a long. A long may not be  
64-bit, in which case the code is buggy.

2. You use __PRI64_PREFIX, which, as all underscore-prefixed names is an  
implementation detail of the library.

3. Why didn't use just printf("%p\n", addr), when addr is a void* and "p"  
is a format specifier for pointers.

Regards
     Jiri Palecek

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to