PyObject *py_ped_geometry_test_overlap(PyObject *s, PyObject *args) { int ret = -1; PyObject *in_b = NULL; PedGeometry *out_a = NULL, *out_b = NULL; if (!PyArg_ParseTuple(args, "O!", &_ped_Geometry_Type_obj, &in_b)) { return NULL; } out_a = _ped_Geometry2PedGeometry(s); if (out_a == NULL) { return NULL; } out_b = _ped_Geometry2PedGeometry(in_b); if (out_b == NULL) { return NULL; } ret = ped_geometry_test_overlap(out_a, out_b); if (ret) { Py_RETURN_TRUE; } else { Py_RETURN_FALSE; } }
/* This function erases all signatures that indicate the presence of * a file system in a particular region, without erasing any data * contained inside the "exclude" region. */ static int ped_file_system_clobber_exclude (PedGeometry* geom, const PedGeometry* exclude) { PedGeometry* clobber_geom; int status; if (ped_geometry_test_sector_inside (exclude, geom->start)) return 1; clobber_geom = ped_geometry_duplicate (geom); if (ped_geometry_test_overlap (clobber_geom, exclude)) ped_geometry_set_end (clobber_geom, exclude->start - 1); status = ped_file_system_clobber (clobber_geom); ped_geometry_destroy (clobber_geom); return status; }