--- src/env.c.orig 2008-06-26 20:38:15 +++ src/env.c 2024-03-20 20:08:45 @@ -365,7 +365,7 @@ bdb_env_thread_id(DB_ENV *dbenv, pid_t *pid, db_thread rb_raise(bdb_eFatal, "expected [pid, threadid]"); } *pid = NUM2INT(RARRAY_PTR(res)[0]); - *tid = NUM2INT(RARRAY_PTR(res)[0]); + *tid = (db_threadid_t)NUM2INT(RARRAY_PTR(res)[0]); return; } @@ -388,7 +388,7 @@ bdb_env_thread_id_string(DB_ENV *dbenv, pid_t pid, db_ return buf; } a = INT2NUM(pid); - b = INT2NUM(tid); + b = INT2NUM((uintptr_t)tid); if (envst->thread_id_string == 0) { res = rb_funcall(obj, id_thread_id_string, 2, a, b); } @@ -419,7 +419,7 @@ bdb_env_isalive(DB_ENV *dbenv, pid_t pid, db_threadid_ return 0; } a = INT2NUM(pid); - b = INT2NUM(tid); + b = INT2NUM((uintptr_t)tid); c = INT2NUM(flags); if (envst->isalive == 0) { res = rb_funcall(obj, id_isalive, 3, a, b, c); --- src/transaction.c.orig 2008-06-26 22:19:53 +++ src/transaction.c 2024-03-20 20:10:58 @@ -689,7 +689,7 @@ bdb_env_stat(int argc, VALUE *argv, VALUE obj) MEMCPY(lsnst->lsn, &bdb_stat->st_txnarray[i].lsn, DB_LSN, 1); rb_hash_aset(hash, rb_tainted_str_new2("lsn"), lsn); #if HAVE_ST_DB_TXN_ACTIVE_TID - rb_hash_aset(hash, rb_tainted_str_new2("thread_id"), INT2NUM(bdb_stat->st_txnarray[i].tid)); + rb_hash_aset(hash, rb_tainted_str_new2("thread_id"), INT2NUM((uintptr_t)bdb_stat->st_txnarray[i].tid)); #endif #if HAVE_ST_DB_TXN_ACTIVE_NAME rb_hash_aset(hash, rb_tainted_str_new2("name"), rb_tainted_str_new2(bdb_stat->st_txnarray[i].name)); --- src/common.c.orig 2008-06-24 00:35:23 +++ src/common.c 2024-03-20 20:13:17 @@ -1791,7 +1791,7 @@ bdb_append_internal(argc, argv, obj, flag, retval) static VALUE bdb_append_internal(argc, argv, obj, flag, retval) - int argc, flag; + int argc, flag, retval; VALUE *argv, obj; { bdb_DB *dbst;