[Jahshaka-cvs] openlibraries/src/openassetlib/plugins/sqlite3_metadata_plugin database.cpp, 1.12,
Status: Beta
Brought to you by:
jahshaka
From: jpn <non...@us...> - 2006-08-08 11:36:22
|
Update of /cvsroot/openlibraries/openlibraries/src/openassetlib/plugins/sqlite3_metadata_plugin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20990/src/openassetlib/plugins/sqlite3_metadata_plugin Modified Files: database.cpp database.hpp Log Message: 1. Replaced the template and the filename/location regular expression based set search helper functions with predicate based set search helper functions. 2. Modified python bindings to reflect set search changes 3. Modified the database quote function to be a little more efficient, following changes due to linux build fix Index: database.hpp =================================================================== RCS file: /cvsroot/openlibraries/openlibraries/src/openassetlib/plugins/sqlite3_metadata_plugin/database.hpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- database.hpp 8 Aug 2006 09:24:36 -0000 1.11 +++ database.hpp 8 Aug 2006 11:36:18 -0000 1.12 @@ -54,7 +54,7 @@ void createAssetTable(); void createMetadataTable(); int queryAssetID(const std::string& guid); - std::string quote(std::string string); + std::string quote(const std::string& string); void executeCommand(const char* sql); void executeQuery(const char* sql, char**& resultSet, int& numRows, int& numColumns) const; void freeResultSet(char**& resultSet) const; Index: database.cpp =================================================================== RCS file: /cvsroot/openlibraries/openlibraries/src/openassetlib/plugins/sqlite3_metadata_plugin/database.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- database.cpp 8 Aug 2006 09:24:36 -0000 1.12 +++ database.cpp 8 Aug 2006 11:36:18 -0000 1.13 @@ -491,16 +491,22 @@ return open_; } -inline std::string database::quote( std::string string) +inline std::string database::quote(const std::string& string) { - for(std::string::iterator it = string.begin(); + std::string return_string; + for(std::string::const_iterator it = string.begin(); it != string.end(); it++) { - if(*it == '\'') - string.insert(it++, '\''); + if(*it != '\'') + return_string.push_back(*it); + else + { + return_string.push_back('\''); + return_string.push_back('\''); + } } - return string; + return return_string; } inline void database::executeCommand(const char* sql) |