From a732758f2b67f325dd5ed45afb942445b1d5a7c8 Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado" Date: Tue, 20 Dec 2022 11:30:41 +0100 Subject: context: don't raise exception when no partitions found Allows creation of a context object or device assign if no label is present in the device. This case is not frecuent but not critical, do not raise an exception. For example, a brand new disk with no label or a raw virtual disk image with no label. --- context.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/context.c b/context.c index e119178..9c840f8 100644 --- a/context.c +++ b/context.c @@ -74,11 +74,7 @@ static int Context_init(ContextObject *self, PyObject *args, PyObject *kwds) set_PyErr_from_rc(-rc); return -1; } - - if ((fdisk_get_partitions(self->cxt, &self->tb) < 0)) { - set_PyErr_from_rc(-rc); - return -1; - } + fdisk_get_partitions(self->cxt, &self->tb); return 0; } @@ -89,7 +85,6 @@ static int Context_init(ContextObject *self, PyObject *args, PyObject *kwds) static PyObject *Context_assign_device(ContextObject *self, PyObject *args, PyObject *kwds) { char *fname; - int rc; if (!PyArg_ParseTuple(args, "s", &fname)) { PyErr_SetString(PyExc_TypeError, ARG_ERR); @@ -102,10 +97,7 @@ static PyObject *Context_assign_device(ContextObject *self, PyObject *args, PyOb fdisk_assign_device(self->cxt, fname, 1); self->lb = fdisk_get_label(self->cxt, NULL); - if ((rc = fdisk_get_partitions(self->cxt, &self->tb) < 0)) { - set_PyErr_from_rc(-rc); - return NULL; - } + fdisk_get_partitions(self->cxt, &self->tb); Py_INCREF(Py_None); return Py_None; -- cgit v1.2.3-18-g5258