Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
HAMANO Tsukasa
OpenLDAP
Commits
0c487538
Commit
0c487538
authored
Sep 08, 2011
by
Howard Chu
Browse files
Partial revert, fix MDB_page definition
parent
9ac8638d
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/libmdb/mdb.c
View file @
0c487538
...
...
@@ -469,10 +469,12 @@ typedef struct MDB_txninfo {
* headers on any page after the first.
*/
typedef struct MDB_page {
union
{
pgno_t
mp_pgno
;
/**< page number */
void
*
mp_next
;
/**< for in-memory list of freed structs */
};
#define mp_pgno mp_p.p_pgno
#define mp_next mp_p.p_next
union padded {
pgno_t p_pgno; /**< page number */
void * p_next; /**< for in-memory list of freed structs */
} mp_p;
#define P_BRANCH 0x01 /**< branch page */
#define P_LEAF 0x02 /**< leaf page */
#define P_OVERFLOW 0x04 /**< overflow page */
...
...
@@ -480,13 +482,16 @@ typedef struct MDB_page {
#define P_DIRTY 0x10 /**< dirty page */
#define P_LEAF2 0x20 /**< for #MDB_DUPFIXED records */
uint32_t mp_flags;
union
{
#define mp_lower mp_pb.pb.pb_lower
#define mp_upper mp_pb.pb.pb_upper
#define mp_pages mp_pb.pb_pages
union page_bounds {
struct {
indx_t
m
p_lower
;
/**< lower bound of free space */
indx_t
m
p_upper
;
/**< upper bound of free space */
};
uint32_t
m
p_pages
;
/**< number of overflow pages */
};
indx_t p
b
_lower; /**< lower bound of free space */
indx_t p
b
_upper; /**< upper bound of free space */
}
pb
;
uint32_t p
b
_pages; /**< number of overflow pages */
}
mp_pb
;
indx_t mp_ptrs[1]; /**< dynamic size */
} MDB_page;
...
...
@@ -2897,7 +2902,6 @@ mdb_cursor_set(MDB_cursor *mc, MDB_val *key, MDB_val *data,
set1:
if (exactp)
*exactp = 1;
rc
=
0
;
leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]);
goto set3;
}
...
...
@@ -3336,6 +3340,9 @@ top:
rdata = &xdata;
xdata.mv_size = sizeof(MDB_db);
xdata.mv_data = &dummy;
/* new sub-DB, must fully init xcursor */
if (flags == MDB_CURRENT)
flags = 0;
goto new_sub;
}
goto put_sub;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment