diff options
Diffstat (limited to 'python/policy.cc')
| -rw-r--r-- | python/policy.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/python/policy.cc b/python/policy.cc index 96b83abd..0ace3e67 100644 --- a/python/policy.cc +++ b/python/policy.cc @@ -93,11 +93,12 @@ static char *policy_read_pinfile_doc = "and add it to the policy."; static PyObject *policy_read_pinfile(PyObject *self, PyObject *arg) { - if (!PyString_Check(arg)) + PyApt_Filename name; + if (!name.init(arg)) return 0; pkgPolicy *policy = GetCpp<pkgPolicy *>(self); - return PyBool_FromLong(ReadPinFile(*policy, PyString_AsString(arg))); + return PyBool_FromLong(ReadPinFile(*policy, name)); } #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 8) @@ -107,11 +108,12 @@ static char *policy_read_pindir_doc = "and add them to the policy."; static PyObject *policy_read_pindir(PyObject *self, PyObject *arg) { - if (!PyString_Check(arg)) + PyApt_Filename name; + if (!name.init(arg)) return 0; pkgPolicy *policy = GetCpp<pkgPolicy *>(self); - return PyBool_FromLong(ReadPinDir(*policy, PyString_AsString(arg))); + return PyBool_FromLong(ReadPinDir(*policy, name)); } #endif @@ -132,9 +134,9 @@ static PyObject *policy_create_pin(PyObject *self, PyObject *args) { pkgPolicy *policy = GetCpp<pkgPolicy *>(self); if (strcmp(type,"Version") == 0 || strcmp(type, "version") == 0) match_type = pkgVersionMatch::Version; - if (strcmp(type,"Release") == 0 || strcmp(type, "release") == 0) + else if (strcmp(type,"Release") == 0 || strcmp(type, "release") == 0) match_type = pkgVersionMatch::Release; - if (strcmp(type,"Origin") == 0 || strcmp(type, "origin") == 0) + else if (strcmp(type,"Origin") == 0 || strcmp(type, "origin") == 0) match_type = pkgVersionMatch::Origin; else match_type = pkgVersionMatch::None; |
