#endif
#define MAJOR_VERSION 1
-#define MINOR_VERSION 1
+#define MINOR_VERSION_MIN 1
+#define MINOR_VERSION_MAX 2
struct _XdgMimeCache
{
int ref_count;
+ int minor;
size_t size;
char *buffer;
int fd = -1;
struct stat st;
char *buffer = NULL;
+ int minor;
/* Open the file and map it into memory */
fd = open (file_name, O_RDONLY|_O_BINARY, 0);
if (buffer == MAP_FAILED)
goto done;
+ minor = GET_UINT16 (buffer, 2);
/* Verify version */
if (GET_UINT16 (buffer, 0) != MAJOR_VERSION ||
- GET_UINT16 (buffer, 2) != MINOR_VERSION)
+ (minor < MINOR_VERSION_MIN ||
+ minor > MINOR_VERSION_MAX))
{
munmap (buffer, st.st_size);
}
cache = (XdgMimeCache *) malloc (sizeof (XdgMimeCache));
+ cache->minor = minor;
cache->ref_count = 1;
cache->buffer = buffer;
cache->size = st.st_size;