Documentation / implementation mismatch?
In both documentations (3.2.1, 10.0.1) we can see the following format description:
Format C Type Java type Python type Notes i int32_t int int signed 32-bit l int32_t int int signed 32-bit
However in the implementation those two types are handled differently:
3.2.1: src/include/packing.i
#define WT_PACK_GET(session, pv, ap)) ... case 'i': (pv).u.i = va_arg(ap, int); break; ... case 'l': (pv).u.i = va_arg(ap, long); break; ...
10.0.1 (develop branch): src/include/packing_inline.h
#define WT_PACK_GET(session, pv, ap)) ... case 'i': (pv).u.i = va_arg(ap, int); break; ... case 'l': (pv).u.i = va_arg(ap, long); break; ...
The man page of the va_arg command states the following:
If there is no next argument, or if type is not compatible with the type of the actual next argument (as promoted according to the default argument promotions), random errors will occur.
- causes
-
WT-7891 Remove doc typos
- Closed