X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fwhelp%2Fwhelp.ml;fp=helm%2Fsoftware%2Fcomponents%2Fwhelp%2Fwhelp.ml;h=eb1f2b6301c239611b7fa88eb7021ffe78333612;hb=66929b8edb58d468a134b648466f3e9c45ba5c0e;hp=e1d8306cce105c1d75b5636bfec377311e056d88;hpb=36809208fa25a494e50004b321fa9a90108ae262;p=helm.git diff --git a/helm/software/components/whelp/whelp.ml b/helm/software/components/whelp/whelp.ml index e1d8306cc..eb1f2b630 100644 --- a/helm/software/components/whelp/whelp.ml +++ b/helm/software/components/whelp/whelp.ml @@ -43,12 +43,15 @@ let sqlpat_of_shellglob = shellglob))) let locate ~(dbd:HSql.dbd) ?(vars = false) pat = + let escape s = HSql.escape s in let sql_pat = sqlpat_of_shellglob pat in let query = - sprintf ("SELECT source FROM %s WHERE value LIKE \"%s\" UNION "^^ - "SELECT source FROM %s WHERE value LIKE \"%s\"") - (MetadataTypes.name_tbl ()) sql_pat - MetadataTypes.library_name_tbl sql_pat + sprintf + ("SELECT source FROM %s WHERE value LIKE \"%s\" ESCAPE \"\\\" " + ^^ "UNION " ^^ + "SELECT source FROM %s WHERE value LIKE \"%s\" ESCAPE \"\\\" ") + (MetadataTypes.name_tbl ()) (escape sql_pat) + MetadataTypes.library_name_tbl (escape sql_pat) in let result = HSql.exec dbd query in List.filter nonvar