Re: [PATCH] nfs-utils: fix time_t build error on 64-bits platforms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Steve,

> Il giorno 25 lug 2021, alle ore 19:05, Steve Dickson <steved@xxxxxxxxxx> ha scritto:
> 
> Hello,
> 
>> On 7/22/21 11:24 AM, Giulio Benetti wrote:
>> When passing time_t type to "%ld" on 64-bits platforms where time_t is a
>> 'long long' we encouter this build failure:
>> error: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘time_t’ {aka ‘long long int’} [-Werror=format=]
>> So let's change "%ld" markers to "%lld" assuming it to be a 64-bits and
>> cast variables to '(long long)' if the type is a time_t.
> Just an FYI... I will be using Petr's patches [1] and [2]
> since they used the inittypes defines which seem a
> bit more portable and they do the same thing.

Sure, I’ve missed those patches, thank you for pointing so I can use them in Buildroot instead of this one.

Best regards
Giulio Benetti

> 
> steved.
> 
> [1] https://marc.info/?l=linux-nfs&m=162697054816925&w=2
> [2] https://marc.info/?l=linux-nfs&m=162697054816926&w=2
>> Signed-off-by: Giulio Benetti <giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx>
>> ---
>>  utils/nfsdcltrack/nfsdcltrack.c | 2 +-
>>  utils/nfsdcltrack/sqlite.c      | 4 ++--
>>  2 files changed, 3 insertions(+), 3 deletions(-)
>> diff --git a/utils/nfsdcltrack/nfsdcltrack.c b/utils/nfsdcltrack/nfsdcltrack.c
>> index e926f1c0..437477bb 100644
>> --- a/utils/nfsdcltrack/nfsdcltrack.c
>> +++ b/utils/nfsdcltrack/nfsdcltrack.c
>> @@ -525,7 +525,7 @@ cltrack_gracedone(const char *timestr)
>>      if (*tail)
>>          return -EINVAL;
>>  -    xlog(D_GENERAL, "%s: grace done. gracetime=%ld", __func__, gracetime);
>> +    xlog(D_GENERAL, "%s: grace done. gracetime=%lld", __func__, (long long)gracetime);
>>        ret = sqlite_remove_unreclaimed(gracetime);
>>  diff --git a/utils/nfsdcltrack/sqlite.c b/utils/nfsdcltrack/sqlite.c
>> index f79aebb3..6e603087 100644
>> --- a/utils/nfsdcltrack/sqlite.c
>> +++ b/utils/nfsdcltrack/sqlite.c
>> @@ -544,8 +544,8 @@ sqlite_remove_unreclaimed(time_t grace_start)
>>      int ret;
>>      char *err = NULL;
>>  -    ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
>> -            grace_start);
>> +    ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %lld",
>> +            (long long)grace_start);
>>      if (ret < 0) {
>>          return ret;
>>      } else if ((size_t)ret >= sizeof(buf)) {
> 





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux