[PATCH linux-next v2] selftests: net: change fprintf format specifiers

Guo Zhengkui posted 1 patch 4 years, 3 months ago
There is a newer version of this series
tools/testing/selftests/net/txtimestamp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH linux-next v2] selftests: net: change fprintf format specifiers
Posted by Guo Zhengkui 4 years, 3 months ago
`cur64`, `start64` and `ts_delta` are int64_t. Change
format specifiers in fprintf from '%lu' to '%ld'.

It has been tested with gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
on x86_64.

Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
---
 tools/testing/selftests/net/txtimestamp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/txtimestamp.c b/tools/testing/selftests/net/txtimestamp.c
index fabb1d555ee5..b8a52995a635 100644
--- a/tools/testing/selftests/net/txtimestamp.c
+++ b/tools/testing/selftests/net/txtimestamp.c
@@ -161,7 +161,7 @@ static void validate_timestamp(struct timespec *cur, int min_delay)
 	max_delay = min_delay + cfg_delay_tolerance_usec;
 
 	if (cur64 < start64 + min_delay || cur64 > start64 + max_delay) {
-		fprintf(stderr, "ERROR: %lu us expected between %d and %d\n",
+		fprintf(stderr, "ERROR: %ld us expected between %d and %d\n",
 				cur64 - start64, min_delay, max_delay);
 		test_failed = true;
 	}
@@ -170,9 +170,9 @@ static void validate_timestamp(struct timespec *cur, int min_delay)
 static void __print_ts_delta_formatted(int64_t ts_delta)
 {
 	if (cfg_print_nsec)
-		fprintf(stderr, "%lu ns", ts_delta);
+		fprintf(stderr, "%ld ns", ts_delta);
 	else
-		fprintf(stderr, "%lu us", ts_delta / NSEC_PER_USEC);
+		fprintf(stderr, "%ld us", ts_delta / NSEC_PER_USEC);
 }
 
 static void __print_timestamp(const char *name, struct timespec *cur,
-- 
2.17.1
Re: [PATCH linux-next v2] selftests: net: change fprintf format specifiers
Posted by Jakub Kicinski 4 years, 3 months ago
On Fri, 18 Mar 2022 15:50:13 +0800 Guo Zhengkui wrote:
> `cur64`, `start64` and `ts_delta` are int64_t. Change
> format specifiers in fprintf from '%lu' to '%ld'.
> 
> It has been tested with gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
> on x86_64.

No, not like that. Please read up on printing int64_t.
Re: [PATCH linux-next v2] selftests: net: change fprintf format specifiers
Posted by Guo Zhengkui 4 years, 3 months ago
On 2022/3/19 0:33, Jakub Kicinski wrote:
> On Fri, 18 Mar 2022 15:50:13 +0800 Guo Zhengkui wrote:
>> `cur64`, `start64` and `ts_delta` are int64_t. Change
>> format specifiers in fprintf from '%lu' to '%ld'.
>>
>> It has been tested with gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
>> on x86_64.
> 
> No, not like that. Please read up on printing int64_t.

Sorry for misunderstanding. I wrongly thought that it's just for 64-bit.

So I should use `PRId64`.

Zhengkui
[PATCH linux-next v3] selftests: net: change fprintf format specifiers
Posted by Guo Zhengkui 4 years, 3 months ago
`cur64`, `start64` and `ts_delta` are int64_t. Change format
specifiers in fprintf from `"%lu"` to `"%" PRId64` to adapt
to 32-bit and 64-bit systems.

Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
---
 tools/testing/selftests/net/txtimestamp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/txtimestamp.c b/tools/testing/selftests/net/txtimestamp.c
index fabb1d555ee5..10f2fde3686b 100644
--- a/tools/testing/selftests/net/txtimestamp.c
+++ b/tools/testing/selftests/net/txtimestamp.c
@@ -161,7 +161,7 @@ static void validate_timestamp(struct timespec *cur, int min_delay)
 	max_delay = min_delay + cfg_delay_tolerance_usec;
 
 	if (cur64 < start64 + min_delay || cur64 > start64 + max_delay) {
-		fprintf(stderr, "ERROR: %lu us expected between %d and %d\n",
+		fprintf(stderr, "ERROR: %" PRId64 " us expected between %d and %d\n",
 				cur64 - start64, min_delay, max_delay);
 		test_failed = true;
 	}
@@ -170,9 +170,9 @@ static void validate_timestamp(struct timespec *cur, int min_delay)
 static void __print_ts_delta_formatted(int64_t ts_delta)
 {
 	if (cfg_print_nsec)
-		fprintf(stderr, "%lu ns", ts_delta);
+		fprintf(stderr, "%" PRId64 " ns", ts_delta);
 	else
-		fprintf(stderr, "%lu us", ts_delta / NSEC_PER_USEC);
+		fprintf(stderr, "%" PRId64 " us", ts_delta / NSEC_PER_USEC);
 }
 
 static void __print_timestamp(const char *name, struct timespec *cur,
-- 
2.20.1
Re: [PATCH linux-next v3] selftests: net: change fprintf format specifiers
Posted by patchwork-bot+netdevbpf@kernel.org 4 years, 3 months ago
Hello:

This patch was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Sat, 19 Mar 2022 15:37:30 +0800 you wrote:
> `cur64`, `start64` and `ts_delta` are int64_t. Change format
> specifiers in fprintf from `"%lu"` to `"%" PRId64` to adapt
> to 32-bit and 64-bit systems.
> 
> Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
> ---
>  tools/testing/selftests/net/txtimestamp.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Here is the summary with links:
  - [linux-next,v3] selftests: net: change fprintf format specifiers
    https://git.kernel.org/netdev/net-next/c/94f19e1ec38f

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html