From 1b3147c7e06f0ae19784187a6bc0b9f9d97e9d7e Mon Sep 17 00:00:00 2001 From: Evgueni Souleimanov Date: Mon, 16 Jun 2014 20:49:47 -0400 Subject: [PATCH] fix "warning: declaration of 'time' shadows a global declaration" (-Wshadow) This warning occurred when compiling using gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) on CentOS 6.5 x86_64 using the following CFLAGS (locally inserted into Makefile) CFLAGS = -g -Wall -Wextra -Wformat=2 -funsigned-char -fstrict-aliasing -Wstrict-aliasing -Wfloat-equal -Wundef -Wuninitialized -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Waddress -Waggregate-return -Wstrict-prototypes -Wold-style-declaration -Wold-style-definition -Wmissing-parameter-type -Wmissing-prototypes -Wmissing-declarations -Wmissing-field-initializers -Wmissing-noreturn -Wmissing-format-attribute -Wpacked -Wredundant-decls -Wnested-externs -Wshadow -Wsign-compare -Wlogical-op -std=c99 and this make command: make clean ; make example tests --- minmea.c | 22 ++++++++-------- minmea.h | 2 +- tests.c | 78 ++++++++++++++++++++++++++++---------------------------- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/minmea.c b/minmea.c index f14290b..b5fdc47 100644 --- a/minmea.c +++ b/minmea.c @@ -252,7 +252,7 @@ bool minmea_scan(const char *sentence, const char *format, ...) } break; case 'T': { // Time (int, int, int, int), -1 if empty. - struct minmea_time *time = va_arg(ap, struct minmea_time *); + struct minmea_time *time_ = va_arg(ap, struct minmea_time *); int h = -1, i = -1, s = -1, u = -1; @@ -281,10 +281,10 @@ bool minmea_scan(const char *sentence, const char *format, ...) } } - time->hours = h; - time->minutes = i; - time->seconds = s; - time->microseconds = u; + time_->hours = h; + time_->minutes = i; + time_->seconds = s; + time_->microseconds = u; } break; case '_': { // Ignore the field. @@ -513,9 +513,9 @@ bool minmea_parse_gsv(struct minmea_sentence_gsv *frame, const char *sentence) return true; } -int minmea_gettimeofday(struct timeval *tv, const struct minmea_date *date, const struct minmea_time *time) +int minmea_gettimeofday(struct timeval *tv, const struct minmea_date *date, const struct minmea_time *time_) { - if (date->year == -1 || time->hours == -1) + if (date->year == -1 || time_->hours == -1) return -1; struct tm tm; @@ -523,14 +523,14 @@ int minmea_gettimeofday(struct timeval *tv, const struct minmea_date *date, cons tm.tm_year = 2000 + date->year - 1900; tm.tm_mon = date->month - 1; tm.tm_mday = date->day; - tm.tm_hour = time->hours; - tm.tm_min = time->minutes; - tm.tm_sec = time->seconds; + tm.tm_hour = time_->hours; + tm.tm_min = time_->minutes; + tm.tm_sec = time_->seconds; time_t timestamp = timegm(&tm); if (timestamp != -1) { tv->tv_sec = timestamp; - tv->tv_usec = time->microseconds; + tv->tv_usec = time_->microseconds; return 0; } else { return -1; diff --git a/minmea.h b/minmea.h index 30b0b86..23d615c 100644 --- a/minmea.h +++ b/minmea.h @@ -182,7 +182,7 @@ bool minmea_parse_gsv(struct minmea_sentence_gsv *frame, const char *sentence); /** * Convert GPS UTC date/time representation to a UNIX timestamp. */ -int minmea_gettimeofday(struct timeval *tv, const struct minmea_date *date, const struct minmea_time *time); +int minmea_gettimeofday(struct timeval *tv, const struct minmea_date *date, const struct minmea_time *time_); /** * Rescale a fixed-point value to a different scale. Rounds towards zero. diff --git a/tests.c b/tests.c index 5edc737..e5fd45b 100644 --- a/tests.c +++ b/tests.c @@ -268,28 +268,28 @@ END_TEST START_TEST(test_minmea_scan_T) { - struct minmea_time time; + struct minmea_time time_; - ck_assert(minmea_scan("$GPXXX,2359", "_T", &time) == false); - ck_assert(minmea_scan("$GPXXX,foobar", "_T", &time) == false); + ck_assert(minmea_scan("$GPXXX,2359", "_T", &time_) == false); + ck_assert(minmea_scan("$GPXXX,foobar", "_T", &time_) == false); - ck_assert(minmea_scan("$GPXXX,235960", "_T", &time) == true); - ck_assert_int_eq(time.hours, 23); - ck_assert_int_eq(time.minutes, 59); - ck_assert_int_eq(time.seconds, 60); - ck_assert_int_eq(time.microseconds, 0); + ck_assert(minmea_scan("$GPXXX,235960", "_T", &time_) == true); + ck_assert_int_eq(time_.hours, 23); + ck_assert_int_eq(time_.minutes, 59); + ck_assert_int_eq(time_.seconds, 60); + ck_assert_int_eq(time_.microseconds, 0); - ck_assert(minmea_scan("$GPXXX,213700.001", "_T", &time) == true); - ck_assert_int_eq(time.hours, 21); - ck_assert_int_eq(time.minutes, 37); - ck_assert_int_eq(time.seconds, 0); - ck_assert_int_eq(time.microseconds, 1000); + ck_assert(minmea_scan("$GPXXX,213700.001", "_T", &time_) == true); + ck_assert_int_eq(time_.hours, 21); + ck_assert_int_eq(time_.minutes, 37); + ck_assert_int_eq(time_.seconds, 0); + ck_assert_int_eq(time_.microseconds, 1000); - ck_assert(minmea_scan("$GPXXX,,,,,,,nope", "_T", &time) == true); - ck_assert_int_eq(time.hours, -1); - ck_assert_int_eq(time.minutes, -1); - ck_assert_int_eq(time.seconds, -1); - ck_assert_int_eq(time.microseconds, -1); + ck_assert(minmea_scan("$GPXXX,,,,,,,nope", "_T", &time_) == true); + ck_assert_int_eq(time_.hours, -1); + ck_assert_int_eq(time_.minutes, -1); + ck_assert_int_eq(time_.seconds, -1); + ck_assert_int_eq(time_.microseconds, -1); } END_TEST @@ -297,7 +297,7 @@ START_TEST(test_minmea_scan_complex1) { const char *sentence = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\r\n"; char type[6]; - struct minmea_time time; + struct minmea_time time_; struct minmea_float latitude; int latitude_direction; struct minmea_float longitude; int longitude_direction; int fix_quality; @@ -307,7 +307,7 @@ START_TEST(test_minmea_scan_complex1) struct minmea_float height; char height_units; ck_assert(minmea_scan(sentence, "tTfdfdiiffcfc__", type, - &time, + &time_, &latitude, &latitude_direction, &longitude, &longitude_direction, &fix_quality, @@ -316,9 +316,9 @@ START_TEST(test_minmea_scan_complex1) &altitude, &altitude_units, &height, &height_units) == true); ck_assert_str_eq(type, "GPGGA"); - ck_assert_int_eq(time.hours, 12); - ck_assert_int_eq(time.minutes, 35); - ck_assert_int_eq(time.seconds, 19); + ck_assert_int_eq(time_.hours, 12); + ck_assert_int_eq(time_.minutes, 35); + ck_assert_int_eq(time_.seconds, 19); ck_assert_int_eq(latitude.value, 4807038); ck_assert_int_eq(latitude.scale, 1000); ck_assert_int_eq(latitude_direction, 1); @@ -343,7 +343,7 @@ START_TEST(test_minmea_scan_complex2) { const char *sentence = "$GPBWC,081837,,,,,,T,,M,,N,*13"; char type[6]; - struct minmea_time time; + struct minmea_time time_; struct minmea_float latitude; int latitude_direction; struct minmea_float longitude; int longitude_direction; struct minmea_float bearing_true; char bearing_true_mark; @@ -352,7 +352,7 @@ START_TEST(test_minmea_scan_complex2) char name[MINMEA_MAX_LENGTH]; ck_assert(minmea_scan(sentence, "tTfdfdfcfcfcs", type, - &time, + &time_, &latitude, &latitude_direction, &longitude, &longitude_direction, &bearing_true, &bearing_true_mark, @@ -360,9 +360,9 @@ START_TEST(test_minmea_scan_complex2) &distance, &distance_units, name) == true); ck_assert_str_eq(type, "GPBWC"); - ck_assert_int_eq(time.hours, 8); - ck_assert_int_eq(time.minutes, 18); - ck_assert_int_eq(time.seconds, 37); + ck_assert_int_eq(time_.hours, 8); + ck_assert_int_eq(time_.minutes, 18); + ck_assert_int_eq(time_.seconds, 37); ck_assert_int_eq(latitude.scale, 0); ck_assert_int_eq(latitude_direction, 0); ck_assert_int_eq(longitude.scale, 0); @@ -381,7 +381,7 @@ START_TEST(test_minmea_scan_complex3) { const char *sentence = "$GPGST,024603.00,3.2,6.6,4.7,47.3,5.8,5.6,22.0*58"; char type[6]; - struct minmea_time time; + struct minmea_time time_; struct minmea_float rms_deviation; struct minmea_float semi_major_deviation; struct minmea_float semi_minor_deviation; @@ -391,7 +391,7 @@ START_TEST(test_minmea_scan_complex3) struct minmea_float altitude_error_deviation; ck_assert(minmea_scan(sentence, "tTfffffff", type, - &time, + &time_, &rms_deviation, &semi_major_deviation, &semi_minor_deviation, @@ -400,10 +400,10 @@ START_TEST(test_minmea_scan_complex3) &longitude_error_deviation, &altitude_error_deviation) == true); ck_assert_str_eq(type, "GPGST"); - ck_assert_int_eq(time.hours, 2); - ck_assert_int_eq(time.minutes, 46); - ck_assert_int_eq(time.seconds, 3); - ck_assert_int_eq(time.microseconds, 0); + ck_assert_int_eq(time_.hours, 2); + ck_assert_int_eq(time_.minutes, 46); + ck_assert_int_eq(time_.seconds, 3); + ck_assert_int_eq(time_.microseconds, 0); ck_assert_int_eq(rms_deviation.value, 32); ck_assert_int_eq(rms_deviation.scale, 10); ck_assert_int_eq(semi_major_deviation.value, 66); @@ -649,18 +649,18 @@ END_TEST START_TEST(test_minmea_gettimeofday) { struct minmea_date date = { 14, 2, 14 }; - struct minmea_time time = { 13, 0, 9, 123456 }; + struct minmea_time time_ = { 13, 0, 9, 123456 }; struct timeval tv; - ck_assert(minmea_gettimeofday(&tv, &date, &time) == 0); + ck_assert(minmea_gettimeofday(&tv, &date, &time_) == 0); ck_assert_int_eq(tv.tv_sec, 1392382809); ck_assert_int_eq(tv.tv_usec, 123456); date.year = -1; - ck_assert(minmea_gettimeofday(&tv, &date, &time) != 0); + ck_assert(minmea_gettimeofday(&tv, &date, &time_) != 0); date.year = 2014; - time.hours = -1; - ck_assert(minmea_gettimeofday(&tv, &date, &time) != 0); + time_.hours = -1; + ck_assert(minmea_gettimeofday(&tv, &date, &time_) != 0); } END_TEST