From: "tadf (tadayoshi funaba)" Date: 2013-06-06T19:35:54+09:00 Subject: [ruby-core:55340] [ruby-trunk - Bug #8500][Closed] date_core testing address not value of variable on stack Issue #8500 has been updated by tadf (tadayoshi funaba). Status changed from Open to Closed Priority changed from Normal to Low coding error; but, it seems to lack effects. thanks. ---------------------------------------- Bug #8500: date_core testing address not value of variable on stack https://bugs.ruby-lang.org/issues/8500#change-39746 Author: teleological (Riley Lynch) Status: Closed Priority: Low Assignee: Category: ext Target version: ruby -v: ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin12.3.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin This line appears ten times in date_core.c: decode_year(y, ns ? -1 : +1, &nth2, ry); The type of ns is int*, and it seems to always be populated with the address of a stack variable, with the effect that the condition is always true. It looks like the intent is to ensure that decode_year uses Gregorian years if the value ns is true, i.e.: decode_year(y, *ns ? -1 : +1, &nth2, ry); It may be the case that this code is unreachable: guess_style() would have to return zero and nth would have to be calculated to be greater or less than zero. Is there any way that could happen? =end -- http://bugs.ruby-lang.org/