diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2005-09-07 15:11:33 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2005-09-07 15:11:33 +0000 |
commit | 7f293b91b425b4dc1c0342f688a05ec403ea9e89 (patch) | |
tree | 503c849c7a95a53e63d0f24534e3bcc4bda63981 /ext/sqlite/libsqlite/src/date.c | |
parent | caa9702a5a45b09c648a26e8651c5e0799e08acd (diff) | |
download | php-git-7f293b91b425b4dc1c0342f688a05ec403ea9e89.tar.gz |
MFH: Upgraded SQLite 2 library in ext/sqlite to 2.8.16
Diffstat (limited to 'ext/sqlite/libsqlite/src/date.c')
-rw-r--r-- | ext/sqlite/libsqlite/src/date.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/sqlite/libsqlite/src/date.c b/ext/sqlite/libsqlite/src/date.c index d7382aefae..c7489ec078 100644 --- a/ext/sqlite/libsqlite/src/date.c +++ b/ext/sqlite/libsqlite/src/date.c @@ -800,18 +800,20 @@ static void strftimeFunc(sqlite_func *context, int argc, const char **argv){ case 'H': sprintf(&z[j],"%02d",x.h); j+=2; break; case 'W': /* Fall thru */ case 'j': { - int n; + int n; /* Number of days since 1st day of year */ DateTime y = x; y.validJD = 0; y.M = 1; y.D = 1; computeJD(&y); - n = x.rJD - y.rJD + 1; + n = x.rJD - y.rJD; if( zFmt[i]=='W' ){ - sprintf(&z[j],"%02d",(n+6)/7); + int wd; /* 0=Monday, 1=Tuesday, ... 6=Sunday */ + wd = ((int)(x.rJD+0.5)) % 7; + sprintf(&z[j],"%02d",(n+7-wd)/7); j += 2; }else{ - sprintf(&z[j],"%03d",n); + sprintf(&z[j],"%03d",n+1); j += 3; } break; @@ -847,19 +849,18 @@ static void strftimeFunc(sqlite_func *context, int argc, const char **argv){ ** external linkage. */ void sqliteRegisterDateTimeFunctions(sqlite *db){ +#ifndef SQLITE_OMIT_DATETIME_FUNCS static struct { char *zName; int nArg; int dataType; void (*xFunc)(sqlite_func*,int,const char**); } aFuncs[] = { -#ifndef SQLITE_OMIT_DATETIME_FUNCS { "julianday", -1, SQLITE_NUMERIC, juliandayFunc }, { "date", -1, SQLITE_TEXT, dateFunc }, { "time", -1, SQLITE_TEXT, timeFunc }, { "datetime", -1, SQLITE_TEXT, datetimeFunc }, { "strftime", -1, SQLITE_TEXT, strftimeFunc }, -#endif }; int i; @@ -870,4 +871,5 @@ void sqliteRegisterDateTimeFunctions(sqlite *db){ sqlite_function_type(db, aFuncs[i].zName, aFuncs[i].dataType); } } +#endif } |