aboutsummaryrefslogtreecommitdiff
path: root/odb/odb.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-01-18 13:54:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-01-20 15:43:46 +0200
commited217daec5d498b79c9503269d3529c9948378b4 (patch)
tree21b4eedb5c1f45f8745c0ad8943249989e0cc008 /odb/odb.cxx
parent004cdc23349e5dec87e766043082dd4048d577bb (diff)
Escape equal sign in plugin option values
Diffstat (limited to 'odb/odb.cxx')
-rw-r--r--odb/odb.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/odb/odb.cxx b/odb/odb.cxx
index e55328d..c3b8e58 100644
--- a/odb/odb.cxx
+++ b/odb/odb.cxx
@@ -800,6 +800,14 @@ encode_plugin_option (string const& k, string const& cv)
if (!v.empty ())
{
o += '=';
+
+ // A value cannot contain '='. Encode it as the backspace
+ // character.
+ //
+ for (size_t i (0); i < v.size (); ++i)
+ if (v[i] == '=')
+ v[i] = '\b';
+
o += v;
}