On 5/22/19 2:19 PM, Steve Dickson wrote: > On 32 bit machines, using "%016lx" format throws out > an format error due to the -Werror=format=2 > compiler option. On 64 bit machines using that > format is correct. > > So use the PRIx64 macro to have the correct > format defined on the different machines. > > Signed-off-by: Steve Dickson <steved@xxxxxxxxxx> Committed... steved. > --- > utils/nfsdcld/sqlite.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/utils/nfsdcld/sqlite.c b/utils/nfsdcld/sqlite.c > index faa62f9..cd658ef 100644 > --- a/utils/nfsdcld/sqlite.c > +++ b/utils/nfsdcld/sqlite.c > @@ -59,6 +59,7 @@ > #include <limits.h> > #include <sqlite3.h> > #include <linux/limits.h> > +#include <inttypes.h> > > #include "xlog.h" > #include "sqlite.h" > @@ -535,7 +536,7 @@ sqlite_copy_cltrack_records(int *num_rec) > xlog(L_ERROR, "Unable to begin transaction: %s", err); > goto rollback; > } > - ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%016lx\";", > + ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%" PRIx64 "\";", > current_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -550,7 +551,7 @@ sqlite_copy_cltrack_records(int *num_rec) > xlog(L_ERROR, "Unable to clear records from current epoch: %s", err); > goto rollback; > } > - ret = snprintf(buf, sizeof(buf), "INSERT INTO \"rec-%016lx\" " > + ret = snprintf(buf, sizeof(buf), "INSERT INTO \"rec-%" PRIx64 "\" " > "SELECT id FROM attached.clients;", > current_epoch); > if (ret < 0) { > @@ -703,7 +704,7 @@ sqlite_insert_client(const unsigned char *clname, const size_t namelen) > int ret; > sqlite3_stmt *stmt = NULL; > > - ret = snprintf(buf, sizeof(buf), "INSERT OR REPLACE INTO \"rec-%016lx\" " > + ret = snprintf(buf, sizeof(buf), "INSERT OR REPLACE INTO \"rec-%" PRIx64 "\" " > "VALUES (?);", current_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -748,7 +749,7 @@ sqlite_remove_client(const unsigned char *clname, const size_t namelen) > int ret; > sqlite3_stmt *stmt = NULL; > > - ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%016lx\" " > + ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%" PRIx64 "\" " > "WHERE id==?;", current_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -798,7 +799,7 @@ sqlite_check_client(const unsigned char *clname, const size_t namelen) > int ret; > sqlite3_stmt *stmt = NULL; > > - ret = snprintf(buf, sizeof(buf), "SELECT count(*) FROM \"rec-%016lx\" " > + ret = snprintf(buf, sizeof(buf), "SELECT count(*) FROM \"rec-%" PRIx64 "\" " > "WHERE id==?;", recovery_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -873,7 +874,7 @@ sqlite_grace_start(void) > tcur++; > > ret = snprintf(buf, sizeof(buf), "UPDATE grace " > - "SET current = %ld, recovery = %ld;", > + "SET current = %" PRId64 ", recovery = %" PRId64 ";", > (int64_t)tcur, (int64_t)trec); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -891,7 +892,7 @@ sqlite_grace_start(void) > goto rollback; > } > > - ret = snprintf(buf, sizeof(buf), "CREATE TABLE \"rec-%016lx\" " > + ret = snprintf(buf, sizeof(buf), "CREATE TABLE \"rec-%" PRIx64 "\" " > "(id BLOB PRIMARY KEY);", > tcur); > if (ret < 0) { > @@ -915,7 +916,7 @@ sqlite_grace_start(void) > * values in the grace table, just clear out the records for > * the current reboot epoch. > */ > - ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%016lx\";", > + ret = snprintf(buf, sizeof(buf), "DELETE FROM \"rec-%" PRIx64 "\";", > tcur); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -976,7 +977,7 @@ sqlite_grace_done(void) > goto rollback; > } > > - ret = snprintf(buf, sizeof(buf), "DROP TABLE \"rec-%016lx\";", > + ret = snprintf(buf, sizeof(buf), "DROP TABLE \"rec-%" PRIx64 "\";", > recovery_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); > @@ -1027,7 +1028,7 @@ sqlite_iterate_recovery(int (*cb)(struct cld_client *clnt), struct cld_client *c > return -EINVAL; > } > > - ret = snprintf(buf, sizeof(buf), "SELECT * FROM \"rec-%016lx\";", > + ret = snprintf(buf, sizeof(buf), "SELECT * FROM \"rec-%" PRIx64 "\";", > recovery_epoch); > if (ret < 0) { > xlog(L_ERROR, "sprintf failed!"); >