mirror of
https://git.freebsd.org/ports.git
synced 2025-06-07 13:50:38 -04:00
79 lines
2.4 KiB
C
79 lines
2.4 KiB
C
--- src/transaction.c.orig 2011-04-06 19:35:39 UTC
|
|
+++ src/transaction.c
|
|
@@ -139,7 +139,9 @@ bdb_txn_commit(int argc, VALUE *argv, VALUE obj)
|
|
VALUE a;
|
|
int flags;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4
|
|
rb_secure(4);
|
|
+#endif
|
|
flags = 0;
|
|
if (rb_scan_args(argc, argv, "01", &a) == 1) {
|
|
flags = NUM2INT(a);
|
|
@@ -205,7 +207,7 @@ bdb_txn_unlock(VALUE txnv)
|
|
}
|
|
|
|
static VALUE
|
|
-bdb_catch(VALUE val, VALUE args, VALUE self)
|
|
+bdb_catch(VALUE val, VALUE args, int _argc, const VALUE *_argv, VALUE _blockarg)
|
|
{
|
|
rb_yield(args);
|
|
return Qtrue;
|
|
@@ -260,7 +262,7 @@ struct dbtxnopt {
|
|
};
|
|
|
|
static VALUE
|
|
-bdb_txn_i_options(VALUE obj, VALUE dbstobj)
|
|
+bdb_txn_i_options(VALUE obj, VALUE dbstobj, int _argc, const VALUE *_argv, VALUE _blockarg)
|
|
{
|
|
struct dbtxnopt *opt = (struct dbtxnopt *)dbstobj;
|
|
VALUE key, value;
|
|
@@ -329,7 +331,7 @@ bdb_env_rslbl_begin(VALUE origin, int argc, VALUE *arg
|
|
if (argc > 0 && TYPE(argv[argc - 1]) == T_HASH) {
|
|
options = argv[argc - 1];
|
|
argc--;
|
|
- rb_iterate(rb_each, options, bdb_txn_i_options, (VALUE)&opt);
|
|
+ rb_block_call(options, rb_intern("each"), 0, NULL, bdb_txn_i_options, (VALUE)&opt);
|
|
flags = opt.flags;
|
|
if (flags & BDB_TXN_COMMIT) {
|
|
commit = 1;
|
|
@@ -552,7 +554,9 @@ bdb_env_recover(VALUE obj)
|
|
if (!rb_block_given_p()) {
|
|
rb_raise(bdb_eFatal, "call out of an iterator");
|
|
}
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4
|
|
rb_secure(4);
|
|
+#endif
|
|
GetEnvDB(obj, envst);
|
|
txnv = Data_Make_Struct(bdb_cTxn, bdb_TXN, bdb_txn_mark, bdb_txn_free, txnst);
|
|
txnst->env = obj;
|
|
@@ -584,7 +588,9 @@ bdb_txn_discard(VALUE obj)
|
|
bdb_TXN *txnst;
|
|
int flags;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4
|
|
rb_secure(4);
|
|
+#endif
|
|
flags = 0;
|
|
GetTxnDB(obj, txnst);
|
|
#if HAVE_ST_DB_TXN_DISCARD
|
|
@@ -761,7 +767,9 @@ bdb_env_dbremove(int argc, VALUE *argv, VALUE obj)
|
|
bdb_TXN *txnst;
|
|
DB_TXN *txnid;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 2
|
|
rb_secure(2);
|
|
+#endif
|
|
a = b = c = Qnil;
|
|
file = database = NULL;
|
|
flags = 0;
|
|
@@ -810,7 +818,9 @@ bdb_env_dbrename(int argc, VALUE *argv, VALUE obj)
|
|
bdb_TXN *txnst;
|
|
DB_TXN *txnid;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 2
|
|
rb_secure(2);
|
|
+#endif
|
|
a = b = c = Qnil;
|
|
file = database = newname = NULL;
|
|
flags = 0;
|