/** * Initializes a pre-allocated piece of memory to contain a constraint * with the supplied default values. * * \return \c 0 on failure. */ int ped_constraint_init ( PedConstraint* constraint, const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size) { PED_ASSERT (constraint != NULL); PED_ASSERT (start_range != NULL); PED_ASSERT (end_range != NULL); PED_ASSERT (min_size > 0); PED_ASSERT (max_size > 0); constraint->start_align = ped_alignment_duplicate (start_align); constraint->end_align = ped_alignment_duplicate (end_align); constraint->start_range = ped_geometry_duplicate (start_range); constraint->end_range = ped_geometry_duplicate (end_range); constraint->min_size = min_size; constraint->max_size = max_size; return 1; }
/* 1:1 function mappings for natmath.h in libparted */ PyObject *py_ped_alignment_duplicate(PyObject *s, PyObject *args) { PedAlignment *alignment = NULL, *align = NULL; _ped_Alignment *ret = NULL; alignment = _ped_Alignment2PedAlignment(s); if (alignment == NULL) { return NULL; } align = ped_alignment_duplicate(alignment); ped_alignment_destroy(alignment); if (align) { ret = PedAlignment2_ped_Alignment(align); } else { PyErr_SetString(CreateException, "Could not duplicate alignment"); return NULL; } ped_alignment_destroy(align); return (PyObject *) ret; }
ped_constraint_init ( PedConstraint* constraint, const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size) { PED_ASSERT (constraint != NULL, return 0); PED_ASSERT (start_range != NULL, return 0); PED_ASSERT (end_range != NULL, return 0); PED_ASSERT (min_size > 0, return 0); PED_ASSERT (max_size > 0, return 0); constraint->start_align = ped_alignment_duplicate (start_align); constraint->end_align = ped_alignment_duplicate (end_align); constraint->start_range = ped_geometry_duplicate (start_range); constraint->end_range = ped_geometry_duplicate (end_range); constraint->min_size = min_size; constraint->max_size = max_size; return 1; } /** * Convenience wrapper for ped_constraint_init(). * * Allocates a new piece of memory and initializes the constraint. * * \return \c NULL on failure.