diff options
-rw-r--r-- | pym/portage/cache/sqlite.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/portage/cache/sqlite.py b/pym/portage/cache/sqlite.py index 81c076257..d27a7b006 100644 --- a/pym/portage/cache/sqlite.py +++ b/pym/portage/cache/sqlite.py @@ -47,7 +47,11 @@ class database(fs_template.FsBased): def _db_escape_string(self, s): """meta escaping, returns quoted string for use in sql statements""" - # This is equivalent to the _quote function from pysqlite 1.1. + if not isinstance(s, basestring): + # Avoid potential UnicodeEncodeError in python-2.x by + # only calling str() when it's absolutely necessary. + s = str(s) + # This is equivalent to the _quote function from pysqlite 1.1. return "'%s'" % s.replace("'", "''") def _db_init_connection(self, config): |