# HG changeset patch # User jwe # Date 1191976762 0 # Node ID 9861dc5f382b392e7aa21e24bae785fc3f099ada # Parent 963878fa32678212fb50b16d35683d6ba5c27ab0 [project @ 2007-10-10 00:39:21 by jwe] diff -r 963878fa3267 -r 9861dc5f382b liboctave/ChangeLog --- a/liboctave/ChangeLog Wed Oct 10 00:33:17 2007 +0000 +++ b/liboctave/ChangeLog Wed Oct 10 00:39:22 2007 +0000 @@ -1,5 +1,9 @@ 2007-10-09 John W. Eaton + * oct-time.cc (octave_strptime::init): Initialize t.tm_mon to -1 + and t.tm_year to INT_MIN before call to oct_strptime. Adjust + values to zero after call if they remain unchanged. + * dSparse.cc (SparseMatrix::all_elements_are_zero): New function. * dNDArray.cc (NDArray::all_elements_are_zero): New function. diff -r 963878fa3267 -r 9861dc5f382b liboctave/oct-time.cc --- a/liboctave/oct-time.cc Wed Oct 10 00:33:17 2007 +0000 +++ b/liboctave/oct-time.cc Wed Oct 10 00:39:22 2007 +0000 @@ -341,8 +341,8 @@ t.tm_min = 0; t.tm_hour = 0; t.tm_mday = 0; - t.tm_mon = 0; - t.tm_year = 0; + t.tm_mon = -1; + t.tm_year = INT_MIN; t.tm_wday = 0; t.tm_yday = 0; t.tm_isdst = 0; @@ -358,12 +358,18 @@ // Fill in wday and yday, but only if mday is valid and the mon and year // are filled in, avoiding issues with mktime and invalid dates. - if (t.tm_mday != 0 && t.tm_mon >= 0 && t.tm_year != 0) + if (t.tm_mday != 0 && t.tm_mon >= 0 && t.tm_year != INT_MIN) { t.tm_isdst = -1; mktime (&t); } + if (t.tm_mon < 0) + t.tm_mon = 0; + + if (t.tm_year == INT_MIN) + t.tm_year = 0; + if (q) nchars = q - p + 1; else