[PATCH 2/2] Move events and samples into a 'struct divecomputer'

Dirk Hohndel dirk at hohndel.org
Fri Nov 23 19:41:58 PST 2012

Linus Torvalds <torvalds at linux-foundation.org> writes:
> The patch is pretty big, because there's a *lot* of code that accesses the 
> samples, and now we have to change it to use "dc->sample" instead of 
> "dive->sample", and pass in the dive computer pointer rather than the 
> dive.
> We actually currently only have one (fixed) dive computer per dive, so the 
> conversion *could* have been a purely mechanical "dive->sample" to 
> "dive->dc.sample" conversion, but that would have been largely pointless 
> for future work.
> So instead, I try to actually pass in the dive computer pointer 
> explicitly, so that once we start supporting saving data for multiple 
> independent dive computers in the same dive (without mixing them up), we 
> can do so with hopefully not oo many big changes.
> However, there are still various pieces of code that knows that there is 
> exactly one dive computer, so there are several cases where we do do that 
> direct "&dive->dc" thing. But at least the *bulk* of the code now treats 
> dive computer data as being separate from the dive.

I really like these two patches and I like the direction they are taking
us. I wonder if it wouldn't have been better to just assume that there
are (let's say) a maximum of five dive computers and have the structures
set up for that - because we'll have another pretty big change coming
when we switch to that... but I pushed it as is as it certainly makes a
lot of sense the way it's implemented now.



More information about the subsurface mailing list