summaryrefslogtreecommitdiffstats
path: root/equipment.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2012-09-24 12:03:58 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2012-09-24 12:03:58 -0700
commit6ae67f96f8e2252b6d32b42708324ab77f8ff0fa (patch)
tree7a72d5ba5bd3b25d50e373622902497893d59d9f /equipment.c
parent37760d830f516fe6813aabce82b6158249a691ad (diff)
downloadsubsurface-6ae67f96f8e2252b6d32b42708324ab77f8ff0fa.tar.gz
Update cylinder info properly
The "cylinders_equal()/copy_cylinders()" functions were buggered, and only checked (and copied) the cylinder type. That was on purpose, since you do want to be able to change the type of a cylinder without changing the gasmix of the cylinder. HOWEVER, the reverse is also true: you may want to change the gasmix of a cylinder without changing the type. So it's not that the type of the cylinder is special - it's that the type and the gasmix should be considered separately. Do that properly for the equipment editing case. Reported-by: Ďoďo <dodo.sk@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'equipment.c')
-rw-r--r--equipment.c34
1 files changed, 0 insertions, 34 deletions
diff --git a/equipment.c b/equipment.c
index 7c473f6df..ccdee6268 100644
--- a/equipment.c
+++ b/equipment.c
@@ -485,40 +485,6 @@ gboolean description_equal(const char *desc1, const char *desc2)
(desc1 && desc2 && strcmp(desc1, desc2) == 0));
}
-/* when checking for the same cylinder we want the size and description to match
- but don't compare the start and end pressures, nor the Nitrox/He values */
-static gboolean one_cylinder_equal(cylinder_t *cyl1, cylinder_t *cyl2)
-{
- return cyl1->type.size.mliter == cyl2->type.size.mliter &&
- cyl1->type.workingpressure.mbar == cyl2->type.workingpressure.mbar &&
- description_equal(cyl1->type.description, cyl2->type.description);
-}
-
-gboolean cylinders_equal(cylinder_t *cyl1, cylinder_t *cyl2)
-{
- int i;
-
- for (i = 0; i < MAX_CYLINDERS; i++)
- if (!one_cylinder_equal(cyl1 + i, cyl2 + i))
- return FALSE;
- return TRUE;
-}
-
-/* copy size and description of all cylinders from cyl1 to cyl2 */
-void copy_cylinders(cylinder_t *cyl1, cylinder_t *cyl2)
-{
- int i;
-
- for (i = 0; i < MAX_CYLINDERS; i++) {
- cyl2[i].type.size.mliter = cyl1[i].type.size.mliter;
- cyl2[i].type.workingpressure.mbar = cyl1[i].type.workingpressure.mbar;
- if (cyl1[i].type.description)
- cyl2[i].type.description = strdup(cyl1[i].type.description);
- else
- cyl2[i].type.description = NULL;
- }
-}
-
static gboolean weightsystem_none(void *_data)
{
weightsystem_t *ws = _data;