}
 #endif
 
-MDB_IDL mdb_midl_alloc()
+MDB_IDL mdb_midl_alloc(void)
 {
        MDB_IDL ids = malloc((MDB_IDL_UM_MAX+1) * sizeof(MDB_ID));
        *ids++ = MDB_IDL_UM_MAX;
        int i,j,k,l,ir,jstack;
        MDB_ID a, itmp;
 
-       ir = ids[0];
+       ir = (int)ids[0];
        l = 1;
        jstack = 0;
        for(;;) {
        unsigned base = 0;
        unsigned cursor = 1;
        int val = 0;
-       unsigned n = ids[0].mid;
+       unsigned n = (unsigned)ids[0].mid;
 
        while( 0 < n ) {
                unsigned pivot = n >> 1;
        } else {
                /* insert id */
                ids[0].mid++;
-               for (i=ids[0].mid; i>x; i--)
+               for (i=(unsigned)ids[0].mid; i>x; i--)
                        ids[i] = ids[i-1];
                ids[x] = *id;
        }
 
         * Allocates memory for an IDL of a default size.
         * @return      IDL on success, NULL on failure.
         */
-MDB_IDL mdb_midl_alloc();
+MDB_IDL mdb_midl_alloc(void);
 
        /** Free an IDL.
         * @param[in] ids       The IDL to free.