Patchwork [v2] qtest: avoid a warning with RTC test

login
register
mail settings
Submitter Blue Swirl
Date March 30, 2012, 7:19 p.m.
Message ID <CAAu8pHuBdTAMSzd=7sH=dVWJVyUwLjBVunaPuHTntJUkvhdysA@mail.gmail.com>
Download mbox | patch
Permalink /patch/149736/
State New
Headers show

Comments

Blue Swirl - March 30, 2012, 7:19 p.m.
Avoid this warning on OpenBSD:
  CC    tests/rtc-test.o
/src/qemu/tests/rtc-test.c: In function 'check_time':
/src/qemu/tests/rtc-test.c:171: warning: format '%ld' expects type
'long int', but argument 2 has type 'time_t'
/src/qemu/tests/rtc-test.c:173: warning: format '%ld' expects type
'long int', but argument 2 has type 'time_t'

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---

v2: make t and s longs.

---
 tests/rtc-test.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

         } else {
Anthony Liguori - March 30, 2012, 7:21 p.m.
On 03/30/2012 02:19 PM, Blue Swirl wrote:
> Avoid this warning on OpenBSD:
>    CC    tests/rtc-test.o
> /src/qemu/tests/rtc-test.c: In function 'check_time':
> /src/qemu/tests/rtc-test.c:171: warning: format '%ld' expects type
> 'long int', but argument 2 has type 'time_t'
> /src/qemu/tests/rtc-test.c:173: warning: format '%ld' expects type
> 'long int', but argument 2 has type 'time_t'
>
> Signed-off-by: Blue Swirl<blauwirbel@gmail.com>

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

Regards,

Anthony Liguori

> ---
>
> v2: make t and s longs.
>
> ---
>   tests/rtc-test.c |    6 +++---
>   1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/rtc-test.c b/tests/rtc-test.c
> index c32b36a..983a980 100644
> --- a/tests/rtc-test.c
> +++ b/tests/rtc-test.c
> @@ -161,12 +161,12 @@ static void check_time(int wiggle)
>       }
>
>       if (!(tm_cmp(&start, datep)<= 0&&  tm_cmp(datep,&end)<= 0)) {
> -        time_t t, s;
> +        long t, s;
>
>           start.tm_isdst = datep->tm_isdst;
>
> -        t = mktime(datep);
> -        s = mktime(&start);
> +        t = (long)mktime(datep);
> +        s = (long)mktime(&start);
>           if (t<  s) {
>               g_test_message("RTC is %ld second(s) behind
> wall-clock\n", (s - t));
>           } else {
Blue Swirl - March 30, 2012, 8:07 p.m.
On Fri, Mar 30, 2012 at 19:21, Anthony Liguori <anthony@codemonkey.ws> wrote:
> On 03/30/2012 02:19 PM, Blue Swirl wrote:
>>
>> Avoid this warning on OpenBSD:
>>   CC    tests/rtc-test.o
>> /src/qemu/tests/rtc-test.c: In function 'check_time':
>> /src/qemu/tests/rtc-test.c:171: warning: format '%ld' expects type
>> 'long int', but argument 2 has type 'time_t'
>> /src/qemu/tests/rtc-test.c:173: warning: format '%ld' expects type
>> 'long int', but argument 2 has type 'time_t'
>>
>> Signed-off-by: Blue Swirl<blauwirbel@gmail.com>
>
>
> Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

Thanks for the review, applied.

Actually the logic may fail in 2038 if longs are still 32 bits. Better
not run qtest then.

> Regards,
>
> Anthony Liguori
>
>> ---
>>
>> v2: make t and s longs.
>>
>> ---
>>  tests/rtc-test.c |    6 +++---
>>  1 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/rtc-test.c b/tests/rtc-test.c
>> index c32b36a..983a980 100644
>> --- a/tests/rtc-test.c
>> +++ b/tests/rtc-test.c
>> @@ -161,12 +161,12 @@ static void check_time(int wiggle)
>>      }
>>
>>      if (!(tm_cmp(&start, datep)<= 0&&  tm_cmp(datep,&end)<= 0)) {
>>
>> -        time_t t, s;
>> +        long t, s;
>>
>>          start.tm_isdst = datep->tm_isdst;
>>
>> -        t = mktime(datep);
>> -        s = mktime(&start);
>> +        t = (long)mktime(datep);
>> +        s = (long)mktime(&start);
>>          if (t<  s) {
>>              g_test_message("RTC is %ld second(s) behind
>> wall-clock\n", (s - t));
>>          } else {
>
>

Patch

diff --git a/tests/rtc-test.c b/tests/rtc-test.c
index c32b36a..983a980 100644
--- a/tests/rtc-test.c
+++ b/tests/rtc-test.c
@@ -161,12 +161,12 @@  static void check_time(int wiggle)
     }

     if (!(tm_cmp(&start, datep) <= 0 && tm_cmp(datep, &end) <= 0)) {
-        time_t t, s;
+        long t, s;

         start.tm_isdst = datep->tm_isdst;

-        t = mktime(datep);
-        s = mktime(&start);
+        t = (long)mktime(datep);
+        s = (long)mktime(&start);
         if (t < s) {
             g_test_message("RTC is %ld second(s) behind
wall-clock\n", (s - t));