int Dbc::dup(Dbc** cursorp, u_int32_t _flags) { int ret; DBC *dbc = this; DBC *new_cursor = 0; ret = dbc->dup(dbc, &new_cursor, _flags); if (DB_RETOK_STD(ret)) // The following cast implies that Dbc can be no larger than DBC *cursorp = (Dbc*)new_cursor; else DB_ERROR(DbEnv::get_DbEnv(dbc->dbenv), "Dbc::dup", ret, ON_ERROR_UNKNOWN); return (ret); }