diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-08-28 18:31:27 +1000 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-08-28 11:16:30 +0200 |
commit | fdbc09e2a53281b8dda7c48676dcf695a79ba373 (patch) | |
tree | fbd2549feee63bf5936dcd44644ac9688eecffc1 /src/drivers/ms5611/ms5611.cpp | |
parent | ad732ee3a146b40c2b600eb78f804086105a4c57 (diff) | |
download | px4-firmware-fdbc09e2a53281b8dda7c48676dcf695a79ba373.tar.gz px4-firmware-fdbc09e2a53281b8dda7c48676dcf695a79ba373.tar.bz2 px4-firmware-fdbc09e2a53281b8dda7c48676dcf695a79ba373.zip |
avoid counters going above limit in INCREMENT()
when using INCREMENT() the counter would temporarily read equal to
limit, which could cause an issue if the task is preempted.
(this macro should be in a common header, though which header?)
Diffstat (limited to 'src/drivers/ms5611/ms5611.cpp')
-rw-r--r-- | src/drivers/ms5611/ms5611.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/ms5611/ms5611.cpp b/src/drivers/ms5611/ms5611.cpp index b572e042c..4e43f19c5 100644 --- a/src/drivers/ms5611/ms5611.cpp +++ b/src/drivers/ms5611/ms5611.cpp @@ -77,7 +77,7 @@ static const int ERROR = -1; #endif /* helper macro for handling report buffer indices */ -#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) +#define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0) /* helper macro for arithmetic - returns the square of the argument */ #define POW2(_x) ((_x) * (_x)) |