Example #1
0
/* {{{ rberkeley_db_get_flags */
SEXP rberkeley_db_get_flags (SEXP _dbp)
{
  DB *dbp;
  u_int32_t flags;
  int ret;

  dbp = R_ExternalPtrAddr(_dbp);
  if(R_ExternalPtrTag(_dbp) != RBerkeley_DB || dbp == NULL)
    error("invalid 'db' handle");

  ret = dbp->get_flags(dbp, &flags);

  if(ret != 0)
    return ScalarInteger(ret);

  return ScalarInteger((int)flags);
}