summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/dbm/dbm.c7
-rw-r--r--time.c4
2 files changed, 5 insertions, 6 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index 893146d582..765154c78f 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -26,7 +26,7 @@ static VALUE rb_cDBM, rb_eDBMError;
#define RUBY_DBM_RW_BIT 0x20000000
struct dbmdata {
- int di_size;
+ long di_size;
DBM *di_dbm;
};
@@ -212,7 +212,7 @@ fdbm_key(VALUE obj, VALUE valstr)
GetDBM2(obj, dbmp, dbm);
for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) {
val = dbm_fetch(dbm, key);
- if (val.dsize == RSTRING_LEN(valstr) &&
+ if ((long)val.dsize == RSTRING_LEN(valstr) &&
memcmp(val.dptr, RSTRING_PTR(valstr), val.dsize) == 0) {
return rb_tainted_str_new(key.dptr, key.dsize);
}
@@ -335,7 +335,8 @@ fdbm_delete_if(VALUE obj)
DBM *dbm;
VALUE keystr, valstr;
VALUE ret, ary = rb_ary_new();
- int i, status = 0, n;
+ int i, status = 0;
+ long n;
fdbm_modify(obj);
GetDBM2(obj, dbmp, dbm);
diff --git a/time.c b/time.c
index 0a32f4f1a5..1abbd9610d 100644
--- a/time.c
+++ b/time.c
@@ -963,11 +963,9 @@ static const int leap_year_days_in_month[] = {
static int
calc_tm_yday(long tm_year, int tm_mon, int tm_mday)
{
- int tm_year_mod400;
+ int tm_year_mod400 = (int)MOD(tm_year, 400);
int tm_yday = tm_mday;
- tm_year_mod400 = MOD(tm_year, 400);
-
if (leap_year_p(tm_year_mod400 + 1900))
tm_yday += leap_year_yday_offset[tm_mon];
else