mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	core: add a function to test for sensors of a given cylinder
We want to prevent the user from accidentally deleting a cylinder with sensor readings. Therefore, we need such a function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									5eda1c0e39
								
							
						
					
					
						commit
						28fe6a7b38
					
				
					 3 changed files with 15 additions and 1 deletions
				
			
		
							
								
								
									
										14
									
								
								core/dive.c
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								core/dive.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -3481,3 +3481,17 @@ struct gasmix get_gasmix_at_time(const struct dive *d, const struct divecomputer
 | 
			
		|||
	struct gasmix gasmix = gasmix_air;
 | 
			
		||||
	return get_gasmix(d, dc, time.seconds, &ev, gasmix);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Does that cylinder have any pressure readings? */
 | 
			
		||||
extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id)
 | 
			
		||||
{
 | 
			
		||||
	for (const struct divecomputer *dc = &dive->dc; dc; dc = dc->next) {
 | 
			
		||||
		for (int i = 0; i < dc->samples; ++i) {
 | 
			
		||||
			for (int j = 0; j < MAX_SENSORS; ++j) {
 | 
			
		||||
				if (dc->sample[i].sensor[j] == cylinder_id)
 | 
			
		||||
					return true;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return false;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -198,6 +198,7 @@ extern int get_cylinder_index(const struct dive *dive, const struct event *ev);
 | 
			
		|||
extern struct gasmix get_gasmix_from_event(const struct dive *, const struct event *ev);
 | 
			
		||||
extern int nr_cylinders(const struct dive *dive);
 | 
			
		||||
extern int nr_weightsystems(const struct dive *dive);
 | 
			
		||||
extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id);
 | 
			
		||||
 | 
			
		||||
/* UI related protopypes */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -548,4 +548,3 @@ void free_dc(struct divecomputer *dc)
 | 
			
		|||
	free_dc_contents(dc);
 | 
			
		||||
	free(dc);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue