ruby-changes:20593
From: tadf <ko1@a...>
Date: Sat, 23 Jul 2011 20:19:22 +0900 (JST)
Subject: [ruby-changes:20593] tadf:r32641 (trunk): * ext/date/date_core.c: an issue that is same as .
tadf 2011-07-23 20:17:00 +0900 (Sat, 23 Jul 2011) New Revision: 32641 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32641 Log: * ext/date/date_core.c: an issue that is same as [ruby-dev:44071]. * ext/date/date_strftime.c: identical to [ruby-dev:44112]. Modified files: trunk/ChangeLog trunk/ext/date/date_core.c trunk/ext/date/date_strftime.c Index: ChangeLog =================================================================== --- ChangeLog (revision 32640) +++ ChangeLog (revision 32641) @@ -1,3 +1,8 @@ +Sat Jul 23 20:11:50 2011 Tadayoshi Funaba <tadf@d...> + + * ext/date/date_core.c: an issue that is same as [ruby-dev:44071]. + * ext/date/date_strftime.c: identical to [ruby-dev:44112]. + Sat Jul 23 19:12:53 2011 Masaki Suketa <masaki.suketa@n...> * test/win32ole/test_err_in_callback.rb (test_err_in_callback): Index: ext/date/date_core.c =================================================================== --- ext/date/date_core.c (revision 32640) +++ ext/date/date_core.c (revision 32641) @@ -4609,7 +4609,7 @@ get_d1a(self); if (simple_dat_p(adat)) { - VALUE new = d_lite_s_alloc_simple(CLASS_OF(self)); + VALUE new = d_lite_s_alloc_simple(rb_obj_class(self)); { get_d1b(new); bdat->s = adat->s; @@ -4617,7 +4617,7 @@ } } else { - VALUE new = d_lite_s_alloc_complex(CLASS_OF(self)); + VALUE new = d_lite_s_alloc_complex(rb_obj_class(self)); { get_d1b(new); bdat->c = adat->c; @@ -4632,7 +4632,7 @@ get_d1a(self); if (simple_dat_p(adat)) { - VALUE new = d_lite_s_alloc_complex(CLASS_OF(self)); + VALUE new = d_lite_s_alloc_complex(rb_obj_class(self)); { get_d1b(new); copy_simple_to_complex(&bdat->c, &adat->s); @@ -4641,7 +4641,7 @@ } } else { - VALUE new = d_lite_s_alloc_complex(CLASS_OF(self)); + VALUE new = d_lite_s_alloc_complex(rb_obj_class(self)); { get_d1b(new); bdat->c = adat->c; @@ -5553,14 +5553,14 @@ } if (simple_dat_p(dat)) - return d_simple_new_internal(CLASS_OF(self), + return d_simple_new_internal(rb_obj_class(self), nth, jd, dat->s.sg, 0, 0, 0, (dat->s.flags | HAVE_JD) & ~HAVE_CIVIL); else - return d_complex_new_internal(CLASS_OF(self), + return d_complex_new_internal(rb_obj_class(self), nth, jd, dat->c.df, dat->c.sf, dat->c.of, dat->c.sg, @@ -5618,14 +5618,14 @@ nth = f_add(m_nth(dat), nth); if (simple_dat_p(dat)) - return d_simple_new_internal(CLASS_OF(self), + return d_simple_new_internal(rb_obj_class(self), nth, jd, dat->s.sg, 0, 0, 0, (dat->s.flags | HAVE_JD) & ~HAVE_CIVIL); else - return d_complex_new_internal(CLASS_OF(self), + return d_complex_new_internal(rb_obj_class(self), nth, jd, dat->c.df, dat->c.sf, dat->c.of, dat->c.sg, @@ -5732,7 +5732,7 @@ nth = f_add(m_nth(dat), nth); if (!df && f_zero_p(sf) && !m_of(dat)) - return d_simple_new_internal(CLASS_OF(self), + return d_simple_new_internal(rb_obj_class(self), nth, (int)jd, m_sg(dat), 0, 0, 0, @@ -5740,7 +5740,7 @@ ~(HAVE_CIVIL | HAVE_TIME | COMPLEX_DAT)); else - return d_complex_new_internal(CLASS_OF(self), + return d_complex_new_internal(rb_obj_class(self), nth, (int)jd, df, sf, m_of(dat), m_sg(dat), @@ -5842,7 +5842,7 @@ nth = f_add(m_nth(dat), nth); if (!df && f_zero_p(sf) && !m_of(dat)) - return d_simple_new_internal(CLASS_OF(self), + return d_simple_new_internal(rb_obj_class(self), nth, jd, m_sg(dat), 0, 0, 0, @@ -5850,7 +5850,7 @@ ~(HAVE_CIVIL | HAVE_TIME | COMPLEX_DAT)); else - return d_complex_new_internal(CLASS_OF(self), + return d_complex_new_internal(rb_obj_class(self), nth, jd, df, sf, m_of(dat), m_sg(dat), Index: ext/date/date_strftime.c =================================================================== --- ext/date/date_strftime.c (revision 32640) +++ ext/date/date_strftime.c (revision 32641) @@ -212,7 +212,7 @@ if (precision > 0 || flags & (BIT_OF(LOCALE_E)|BIT_OF(LOCALE_O))) \ goto unknown; \ } while (0) -#define NEEDS(n) do if (s + (n) >= endp - 1) goto err; while (0) +#define NEEDS(n) do if (s >= endp || (n) >= endp - s - 1) goto err; while (0) #define FILL_PADDING(i) do { \ if (!(flags & BIT_OF(LEFT)) && precision > (i)) { \ NEEDS(precision); \ -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/