diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2019-09-01 13:14:32 +0000 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2019-09-01 13:14:32 +0000 |
commit | 0a3a6d555adb78ac20844510c6fc889c50c974e8 (patch) | |
tree | b5990a015c967b14ac1acde4b6ebd392a231f346 | |
parent | 211260518f4c92fc3dd99a57e638931ee8840e2d (diff) | |
parent | b2c8ff9c81b43968d83ea0891993270fda2a81ea (diff) | |
download | tracker-0a3a6d555adb78ac20844510c6fc889c50c974e8.tar.gz |
Merge branch 'wip/carlosg/escape-single-quotes' into 'master'
libtracker-sparql: Escape single quotes
See merge request GNOME/tracker!124
-rw-r--r-- | src/libtracker-sparql/tracker-utils.vala | 5 | ||||
-rw-r--r-- | tests/libtracker-sparql/tracker-sparql-test.c | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libtracker-sparql/tracker-utils.vala b/src/libtracker-sparql/tracker-utils.vala index 32aac9a8f..a4664abf0 100644 --- a/src/libtracker-sparql/tracker-utils.vala +++ b/src/libtracker-sparql/tracker-utils.vala @@ -56,7 +56,7 @@ namespace Tracker.Sparql { char *p = (char*) literal; while (*p != '\0') { - size_t len = Posix.strcspn ((string) p, "\t\n\r\b\f\"\\"); + size_t len = Posix.strcspn ((string) p, "\t\n\r\b\f\'\"\\"); str.append_len ((string) p, (long) len); p += len; @@ -76,6 +76,9 @@ namespace Tracker.Sparql { case '\f': str.append ("\\f"); break; + case '\'': + str.append ("\\'"); + break; case '"': str.append ("\\\""); break; diff --git a/tests/libtracker-sparql/tracker-sparql-test.c b/tests/libtracker-sparql/tracker-sparql-test.c index de371feb5..3b60d18be 100644 --- a/tests/libtracker-sparql/tracker-sparql-test.c +++ b/tests/libtracker-sparql/tracker-sparql-test.c @@ -32,6 +32,7 @@ typedef struct { ESCAPE_TEST_DATA test_data [] = { { "SELECT \"a\"", "SELECT \\\"a\\\"" }, + { "SELECT \'a\'", "SELECT \\\'a\\\'" }, { "SELECT ?u \t \n \r \b \f", "SELECT ?u \\t \\n \\r \\b \\f" }, { NULL, NULL } }; |