projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Fixes for GCC 10 (-fno-common is default)
[fw/altos]
/
src
/
kernel
/
ao_cmd.c
diff --git
a/src/kernel/ao_cmd.c
b/src/kernel/ao_cmd.c
index d1c049ac78aaf5b03905dc13542905f74cb01d71..4ae63781fcb0900e39acdfc02ad8f737819d4b03 100644
(file)
--- a/
src/kernel/ao_cmd.c
+++ b/
src/kernel/ao_cmd.c
@@
-205,8
+205,13
@@
ao_cmd_decimal(void)
{
uint32_t result = 0;
uint8_t r = ao_cmd_lex_error;
{
uint32_t result = 0;
uint8_t r = ao_cmd_lex_error;
+ bool negative = false;
ao_cmd_white();
ao_cmd_white();
+ if (ao_cmd_lex_c == '-') {
+ negative = true;
+ ao_cmd_lex();
+ }
for(;;) {
if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9')
result = result * 10 + (ao_cmd_lex_c - '0');
for(;;) {
if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9')
result = result * 10 + (ao_cmd_lex_c - '0');
@@
-217,6
+222,8
@@
ao_cmd_decimal(void)
}
if (r != ao_cmd_success)
ao_cmd_status = r;
}
if (r != ao_cmd_success)
ao_cmd_status = r;
+ if (negative)
+ result = -result;
return result;
}
return result;
}
@@
-269,7
+276,7
@@
version(void)
printf("manufacturer %s\n"
"product %s\n"
"serial-number %u\n"
printf("manufacturer %s\n"
"product %s\n"
"serial-number %u\n"
-#if HAS_
FLIGHT || HAS_TRACKER
+#if HAS_
LOG && (HAS_FLIGHT || HAS_TRACKER)
"current-flight %u\n"
#endif
#if HAS_LOG
"current-flight %u\n"
#endif
#if HAS_LOG
@@
-287,7
+294,7
@@
version(void)
, ao_manufacturer
, ao_product
, ao_serial_number
, ao_manufacturer
, ao_product
, ao_serial_number
-#if HAS_
FLIGHT || HAS_TRACKER
+#if HAS_
LOG && (HAS_FLIGHT || HAS_TRACKER)
, ao_flight_number
#endif
#if HAS_LOG
, ao_flight_number
#endif
#if HAS_LOG