X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Flibrary%2FlibraryDb.ml;h=db8a8a50627d9cb570bfa0a241a8a25730189e8c;hb=66929b8edb58d468a134b648466f3e9c45ba5c0e;hp=83bc3f6e67ace89cb334b86fa754d4d812d43d05;hpb=36809208fa25a494e50004b321fa9a90108ae262;p=helm.git diff --git a/helm/software/components/library/libraryDb.ml b/helm/software/components/library/libraryDb.ml index 83bc3f6e6..db8a8a506 100644 --- a/helm/software/components/library/libraryDb.ml +++ b/helm/software/components/library/libraryDb.ml @@ -164,9 +164,12 @@ let remove_uri uri = let xpointers_of_ind uri = let dbd = instance () in let name_tbl = MetadataTypes.name_tbl () in + let escape s = + Pcre.replace ~pat:"([^\\\\])_" ~templ:"$1\\_" (HSql.escape s) + in let query = sprintf - "SELECT source FROM %s WHERE source LIKE '%s#xpointer%%'" name_tbl - (HSql.escape (UriManager.string_of_uri uri)) + "SELECT source FROM %s WHERE source LIKE '%s#xpointer%%' ESCAPE \"\\\" " + name_tbl (escape (UriManager.string_of_uri uri)) in let rc = HSql.exec dbd query in let l = ref [] in