1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00

Add the sqlite3_uri_parameter() interface function for use in building

new VFSes.

FossilOrigin-Name: 6b5de95fb575c7ceb3034068c4f5e0fccb1b15ac
This commit is contained in:
drh
2011-05-17 18:53:08 +00:00
parent 133d7dab17
commit cc487d13fc
4 changed files with 51 additions and 9 deletions

View File

@@ -2908,3 +2908,25 @@ int sqlite3_test_control(int op, ...){
#endif /* SQLITE_OMIT_BUILTIN_TEST */
return rc;
}
/*
** This is a utility routine, useful to VFS implementations, that checks
** to see if a database file was a URI that contained a specific query
** parameter, and if so obtains the value of the query parameter.
**
** The zFilename argument is the filename pointer passed into the xOpen()
** method of a VFS implementation. The zParam argument is the name of the
** query parameter we seek. This routine returns the value of the zParam
** parameter if it exists. If the parameter does not exist, this routine
** returns a NULL pointer.
*/
const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam){
zFilename += sqlite3Strlen30(zFilename);
while( zFilename[0] ){
int x = strcmp(zFilename, zParam);
zFilename += sqlite3Strlen30(zFilename);
if( x==0 ) return zFilename;
zFilename += sqlite3Strlen30(zFilename);
}
return 0;
}