Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: third_party/sqlite/src/ext/misc/closure.c

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/sqlite/src/ext/misc/amatch.c ('k') | third_party/sqlite/src/ext/misc/compress.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ** 2013-04-16 2 ** 2013-04-16
3 ** 3 **
4 ** The author disclaims copyright to this source code. In place of 4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing: 5 ** a legal notice, here is a blessing:
6 ** 6 **
7 ** May you do good and not evil. 7 ** May you do good and not evil.
8 ** May you find forgiveness for yourself and forgive others. 8 ** May you find forgiveness for yourself and forgive others.
9 ** May you share freely, never taking more than you give. 9 ** May you share freely, never taking more than you give.
10 ** 10 **
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 ** 479 **
480 ** If it is, return a pointer to the first character of VALUE. 480 ** If it is, return a pointer to the first character of VALUE.
481 ** If not, return NULL. Spaces around the = are ignored. 481 ** If not, return NULL. Spaces around the = are ignored.
482 */ 482 */
483 static const char *closureValueOfKey(const char *zKey, const char *zStr){ 483 static const char *closureValueOfKey(const char *zKey, const char *zStr){
484 int nKey = (int)strlen(zKey); 484 int nKey = (int)strlen(zKey);
485 int nStr = (int)strlen(zStr); 485 int nStr = (int)strlen(zStr);
486 int i; 486 int i;
487 if( nStr<nKey+1 ) return 0; 487 if( nStr<nKey+1 ) return 0;
488 if( memcmp(zStr, zKey, nKey)!=0 ) return 0; 488 if( memcmp(zStr, zKey, nKey)!=0 ) return 0;
489 for(i=nKey; isspace(zStr[i]); i++){} 489 for(i=nKey; isspace((unsigned char)zStr[i]); i++){}
490 if( zStr[i]!='=' ) return 0; 490 if( zStr[i]!='=' ) return 0;
491 i++; 491 i++;
492 while( isspace(zStr[i]) ){ i++; } 492 while( isspace((unsigned char)zStr[i]) ){ i++; }
493 return zStr+i; 493 return zStr+i;
494 } 494 }
495 495
496 /* 496 /*
497 ** xConnect/xCreate method for the closure module. Arguments are: 497 ** xConnect/xCreate method for the closure module. Arguments are:
498 ** 498 **
499 ** argv[0] -> module name ("transitive_closure") 499 ** argv[0] -> module name ("transitive_closure")
500 ** argv[1] -> database name 500 ** argv[1] -> database name
501 ** argv[2] -> table name 501 ** argv[2] -> table name
502 ** argv[3...] -> arguments 502 ** argv[3...] -> arguments
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 const sqlite3_api_routines *pApi 949 const sqlite3_api_routines *pApi
950 ){ 950 ){
951 int rc = SQLITE_OK; 951 int rc = SQLITE_OK;
952 SQLITE_EXTENSION_INIT2(pApi); 952 SQLITE_EXTENSION_INIT2(pApi);
953 (void)pzErrMsg; 953 (void)pzErrMsg;
954 #ifndef SQLITE_OMIT_VIRTUALTABLE 954 #ifndef SQLITE_OMIT_VIRTUALTABLE
955 rc = sqlite3_create_module(db, "transitive_closure", &closureModule, 0); 955 rc = sqlite3_create_module(db, "transitive_closure", &closureModule, 0);
956 #endif /* SQLITE_OMIT_VIRTUALTABLE */ 956 #endif /* SQLITE_OMIT_VIRTUALTABLE */
957 return rc; 957 return rc;
958 } 958 }
OLDNEW
« no previous file with comments | « third_party/sqlite/src/ext/misc/amatch.c ('k') | third_party/sqlite/src/ext/misc/compress.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698