mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Cleanup: use free_weightsystem function instead of explicit free
Instead of freeing internal data of the weightsystem structure, call the free_weightsystem function (which has to be made extern at first). This makes things more future-proof, should the weightsystem struct ever be extended. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									dc67876c79
								
							
						
					
					
						commit
						ab99ca85f1
					
				
					 3 changed files with 8 additions and 3 deletions
				
			
		|  | @ -1031,7 +1031,7 @@ RemoveWeight::RemoveWeight(int index, bool currentDiveOnly) : | |||
| 
 | ||||
| RemoveWeight::~RemoveWeight() | ||||
| { | ||||
| 	free((void *)ws.description); | ||||
| 	free_weightsystem(ws); | ||||
| } | ||||
| 
 | ||||
| bool RemoveWeight::workToBeDone() | ||||
|  |  | |||
|  | @ -19,9 +19,13 @@ | |||
| #include "subsurface-string.h" | ||||
| #include "table.h" | ||||
| 
 | ||||
| static void free_weightsystem(weightsystem_t w) | ||||
| /* Warning: this has strange semantics for C-code! Not the weightsystem object
 | ||||
|  * is freed, but the data it references. The object itself is passed in by value. | ||||
|  * This is due to the fact how the table macros work. | ||||
|  */ | ||||
| void free_weightsystem(weightsystem_t ws) | ||||
| { | ||||
| 	free((void *)w.description); | ||||
| 	free((void *)ws.description); | ||||
| } | ||||
| 
 | ||||
| static void free_cylinder(cylinder_t c) | ||||
|  |  | |||
|  | @ -70,6 +70,7 @@ struct weightsystem_table { | |||
| extern int cylinderuse_from_text(const char *text); | ||||
| extern void copy_weights(const struct weightsystem_table *s, struct weightsystem_table *d); | ||||
| extern weightsystem_t clone_weightsystem(weightsystem_t ws); | ||||
| extern void free_weightsystem(weightsystem_t ws); | ||||
| extern void copy_cylinder_types(const struct dive *s, struct dive *d); | ||||
| extern void add_cloned_weightsystem(struct weightsystem_table *t, weightsystem_t ws); | ||||
| extern cylinder_t *add_empty_cylinder(struct cylinder_table *t); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue