From: Dirk Hohndel Date: Sat, 18 Aug 2012 02:52:04 +0000 (-0700) Subject: When editing multiple files, don't override existing equipment entries X-Git-Url: http://git.tdb.fi/?p=ext%2Fsubsurface.git;a=commitdiff_plain;h=50f6c6d8bccee167dcaa005964af0468535524a3 When editing multiple files, don't override existing equipment entries This parallels the logic used for all the string entries. Signed-off-by: Dirk Hohndel --- diff --git a/info.c b/info.c index 3877648..f718e85 100644 --- a/info.c +++ b/info.c @@ -473,12 +473,12 @@ void update_equipment_data(struct dive *dive, struct dive *master) { if (dive == master) return; - if (memcmp(remember_cyl, master->cylinder, sizeof(cylinder_t) * MAX_CYLINDERS)) { + if (memcmp(remember_cyl, master->cylinder, sizeof(cylinder_t) * MAX_CYLINDERS) && + cylinder_none(dive->cylinder)) memcpy(dive->cylinder, master->cylinder, sizeof(cylinder_t) * MAX_CYLINDERS); - } - if (memcmp(remember_ws, master->weightsystem, sizeof(weightsystem_t) * MAX_WEIGHTSYSTEMS)) { + if (memcmp(remember_ws, master->weightsystem, sizeof(weightsystem_t) * MAX_WEIGHTSYSTEMS) && + weightsystem_none(dive->weightsystem)) memcpy(dive->weightsystem, master->weightsystem, sizeof(weightsystem_t) * MAX_WEIGHTSYSTEMS); - } } int edit_multi_dive_info(int nr, int *indices)