mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Fix assert() statements in date/time computations: The month and day numbers
can be zero if an error has been seen. FossilOrigin-Name: fc773f6c76ec114be8b6e25b13885acb5adcc9d052dca0d8d0ff94e2a0743d64
This commit is contained in:
@@ -296,8 +296,8 @@ static void computeJD(DateTime *p){
|
||||
*/
|
||||
static void computeFloor(DateTime *p){
|
||||
assert( p->validYMD || p->isError );
|
||||
assert( (p->D>=1 && p->D<=31) || p->isError );
|
||||
assert( (p->M>=1 && p->M<=12) || p->isError );
|
||||
assert( p->D>=0 && p->D<=31 );
|
||||
assert( p->M>=0 && p->M<=12 );
|
||||
if( p->D<=28 ){
|
||||
p->nFloor = 0;
|
||||
}else if( (1<<p->M) & 0x15aa ){
|
||||
@@ -1047,7 +1047,7 @@ static int parseModifier(
|
||||
int y = (int)r;
|
||||
assert( strcmp(aXformType[5].zName,"year")==0 );
|
||||
computeYMD_HMS(p);
|
||||
assert( p->M>=1 && p->M<=12 );
|
||||
assert( p->M>=0 && p->M<=12 );
|
||||
p->Y += y;
|
||||
computeFloor(p);
|
||||
p->validJD = 0;
|
||||
|
Reference in New Issue
Block a user