version 1.2, 2015/04/20 18:10:09
|
version 1.3, 2015/04/20 18:19:49
|
|
|
const Field* self, | const Field* self, |
FILE* os, | FILE* os, |
MI_Type type, | MI_Type type, |
MI_Uint32 level); |
MI_Uint32 level, |
|
MI_Boolean showNulls, |
|
MI_Boolean isClass); |
| |
MI_INLINE MI_Boolean Field_GetExists( | MI_INLINE MI_Boolean Field_GetExists( |
const Field* field, | const Field* field, |
MI_Type type) | MI_Type type) |
{ | { |
return *((MI_Boolean*)((char*)field + Type_SizeOf(type))); |
return *((MI_Boolean*)((const char*)field + Type_SizeOf(type))); |
} | } |
| |
MI_INLINE MI_Uint8 Field_GetFlags( | MI_INLINE MI_Uint8 Field_GetFlags( |
|
|
MI_Type type) | MI_Type type) |
{ | { |
return *((MI_Uint8*) | return *((MI_Uint8*) |
((char*)field + Type_SizeOf(type) + sizeof(MI_Uint8))); |
((const char*)field + Type_SizeOf(type) + sizeof(MI_Uint8))); |
|
} |
|
|
|
#define _MODIFIED 0x02 |
|
MI_INLINE MI_Uint32 Field_GetFlagsExt(MI_Type type, const Field *field) |
|
{ |
|
MI_Value value; |
|
MI_Boolean exists; |
|
MI_Uint8 flags; |
|
MI_Uint32 flagsOut = 0; |
|
|
|
Field_Extract(field, type, &value, &exists, &flags); |
|
|
|
if(!exists) |
|
{ |
|
flagsOut |= MI_FLAG_NULL; |
|
} |
|
|
|
if ((flags & _MODIFIED) == 0) |
|
{ |
|
flagsOut |= MI_FLAG_NOT_MODIFIED; |
|
} |
|
|
|
return flagsOut; |
} | } |
| |
/* Return true if fields are equivalent (only applies to key types) */ | /* Return true if fields are equivalent (only applies to key types) */ |