]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOSynchron.cpp
correction of minor bugs: quotes and last slice in first place
[creaImageIO.git] / src / creaImageIOSynchron.cpp
index 0955ffaee260161d386f73b4391d220c5e3c314d..4c832dd2a8ba9f20ede5b423a59ad88ed2960bf1 100644 (file)
@@ -213,7 +213,7 @@ namespace creaImageIO
                std::string pat=path.c_str();
                CleanName(pat);
                insert="INSERT INTO ADD_OPS (PATH,RECURSIVE,FILES_ADDED,REFERENCEDDB) VALUES('";
-               insert+=pat+"','";
+               insert+=convert(pat)+"','";
                insert+=recursive+"',";
                insert+=nChildren+",'";
                insert+=refdb+"');";
@@ -239,7 +239,7 @@ namespace creaImageIO
                        std::string insert;
                        insert="INSERT INTO IGNORED_FILES (ADD_KEY,PATH,REMOVE,TIME) VALUES('";
                        insert+=addKey+"','";
-                       insert+=pat+"','";
+                       insert+=convert(pat)+"','";
                        insert+=remove+"',";
                        insert+=time+");";
                        UPDATESYNCDB(insert);
@@ -256,7 +256,7 @@ namespace creaImageIO
                                std::string insert;
                                insert="INSERT INTO IGNORED_FILES (ADD_KEY,PATH,REMOVE,TIME) VALUES('";
                                insert+=addKey+"','";
-                               insert+=pat+"','";
+                               insert+=convert(pat)+"','";
                                insert+=remove+"',";
                                insert+=time+");";
                                UPDATESYNCDB(insert);
@@ -320,7 +320,7 @@ namespace creaImageIO
     {
         std::stringstream query;
        std::string result;
-       std::string sVal=searchValue.c_str();
+       std::string sVal=convert(searchValue.c_str());
        CleanName(sVal);
        query<<"SELECT "<<attribute<<" FROM "<<table<<" WHERE "<<searchParam<<" = '"<<sVal;
        if(table.compare("ADD_OPS")==0)
@@ -358,7 +358,7 @@ namespace creaImageIO
                                const std::string& refdb)
     {
        std::string val=value.c_str();
-       std::string sVal=searchValue.c_str();
+       std::string sVal=convert(searchValue.c_str());
        CleanName(val);
        CleanName(sVal);
        std::string sql = "UPDATE ";
@@ -446,6 +446,13 @@ namespace creaImageIO
                }
                return valid;
        }
+         const std::string Synchronizer::convert(const std::string &i_word)
+         {
+                 std::string temp = i_word;
+                 boost::algorithm::replace_all(temp,"'","''");
+
+         return temp.c_str();
+  }
 }