comparison OrthancServer/Sources/Search/ISqlLookupFormatter.cpp @ 4819:70d2a97ca8cb openssl-3.x

integration mainline->openssl-3.x
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Nov 2021 13:12:32 +0100
parents f0038043fb97 b8fcd331b4b3
children 2e71a08eea15
comparison
equal deleted inserted replaced
4785:61da49321754 4819:70d2a97ca8cb
65 65
66 66
67 static bool FormatComparison(std::string& target, 67 static bool FormatComparison(std::string& target,
68 ISqlLookupFormatter& formatter, 68 ISqlLookupFormatter& formatter,
69 const DatabaseConstraint& constraint, 69 const DatabaseConstraint& constraint,
70 size_t index) 70 size_t index,
71 bool escapeBrackets)
71 { 72 {
72 std::string tag = "t" + boost::lexical_cast<std::string>(index); 73 std::string tag = "t" + boost::lexical_cast<std::string>(index);
73 74
74 std::string comparison; 75 std::string comparison;
75 76
182 } 183 }
183 else if (value[i] == '\\') 184 else if (value[i] == '\\')
184 { 185 {
185 escaped += "\\\\"; 186 escaped += "\\\\";
186 } 187 }
188 else if (escapeBrackets && value[i] == '[')
189 {
190 escaped += "\\[";
191 }
192 else if (escapeBrackets && value[i] == ']')
193 {
194 escaped += "\\]";
195 }
187 else 196 else
188 { 197 {
189 escaped += value[i]; 198 escaped += value[i];
190 } 199 }
191 } 200 }
289 } 298 }
290 299
291 assert(upperLevel <= queryLevel && 300 assert(upperLevel <= queryLevel &&
292 queryLevel <= lowerLevel); 301 queryLevel <= lowerLevel);
293 302
303 const bool escapeBrackets = formatter.IsEscapeBrackets();
304
294 std::string joins, comparisons; 305 std::string joins, comparisons;
295 306
296 size_t count = 0; 307 size_t count = 0;
297 308
298 for (size_t i = 0; i < lookup.size(); i++) 309 for (size_t i = 0; i < lookup.size(); i++)
299 { 310 {
300 std::string comparison; 311 std::string comparison;
301 312
302 if (FormatComparison(comparison, formatter, lookup[i], count)) 313 if (FormatComparison(comparison, formatter, lookup[i], count, escapeBrackets))
303 { 314 {
304 std::string join; 315 std::string join;
305 FormatJoin(join, lookup[i], count); 316 FormatJoin(join, lookup[i], count);
306 joins += join; 317 joins += join;
307 318