2021-07-22 16:16:56

by Petr Vorel

[permalink] [raw]
Subject: [nfs-utils PATCH 1/2] nfsdcltrack/sqlite: Fix printf format

sqlite.c: In function 'sqlite_remove_unreclaimed':
sqlite.c:547:71: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Werror=format=]
547 | ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
| ~~^
| |
| long int
| %lld
548 | grace_start);
| ~~~~~~~~~~~
| |
| time_t {aka long long int}

Found in Buildroot riscv32 build.

Link: http://autobuild.buildroot.net/results/9bc1d43a588338b7395af7bc97535ee16a6ea2d9/build-end.log

Signed-off-by: Petr Vorel <[email protected]>
---
utils/nfsdcltrack/sqlite.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/utils/nfsdcltrack/sqlite.c b/utils/nfsdcltrack/sqlite.c
index f79aebb3..cea4a411 100644
--- a/utils/nfsdcltrack/sqlite.c
+++ b/utils/nfsdcltrack/sqlite.c
@@ -46,6 +46,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
+#include <inttypes.h>
#include <unistd.h>
#include <sqlite3.h>
#include <linux/limits.h>
@@ -544,7 +545,7 @@ sqlite_remove_unreclaimed(time_t grace_start)
int ret;
char *err = NULL;

- ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
+ ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %"PRIu64,
grace_start);
if (ret < 0) {
return ret;
--
2.32.0


2021-07-26 16:33:14

by Steve Dickson

[permalink] [raw]
Subject: Re: [nfs-utils PATCH 1/2] nfsdcltrack/sqlite: Fix printf format



On 7/22/21 12:15 PM, Petr Vorel wrote:
> sqlite.c: In function 'sqlite_remove_unreclaimed':
> sqlite.c:547:71: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Werror=format=]
> 547 | ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
> | ~~^
> | |
> | long int
> | %lld
> 548 | grace_start);
> | ~~~~~~~~~~~
> | |
> | time_t {aka long long int}
>
> Found in Buildroot riscv32 build.
>
> Link: http://autobuild.buildroot.net/results/9bc1d43a588338b7395af7bc97535ee16a6ea2d9/build-end.log
>
> Signed-off-by: Petr Vorel <[email protected]>
Both Committed... (tag: nfs-utils-2-5-5-rc1)

steved
> ---
> utils/nfsdcltrack/sqlite.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/utils/nfsdcltrack/sqlite.c b/utils/nfsdcltrack/sqlite.c
> index f79aebb3..cea4a411 100644
> --- a/utils/nfsdcltrack/sqlite.c
> +++ b/utils/nfsdcltrack/sqlite.c
> @@ -46,6 +46,7 @@
> #include <sys/stat.h>
> #include <sys/types.h>
> #include <fcntl.h>
> +#include <inttypes.h>
> #include <unistd.h>
> #include <sqlite3.h>
> #include <linux/limits.h>
> @@ -544,7 +545,7 @@ sqlite_remove_unreclaimed(time_t grace_start)
> int ret;
> char *err = NULL;
>
> - ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
> + ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %"PRIu64,
> grace_start);
> if (ret < 0) {
> return ret;
>