From nobody@FreeBSD.org  Tue Apr 27 13:15:38 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6E9901065670
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 27 Apr 2010 13:15:38 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 44EED8FC1F
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 27 Apr 2010 13:15:38 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o3RDFcIB092344
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 27 Apr 2010 13:15:38 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o3RDFbBZ092343;
	Tue, 27 Apr 2010 13:15:37 GMT
	(envelope-from nobody)
Message-Id: <201004271315.o3RDFbBZ092343@www.freebsd.org>
Date: Tue, 27 Apr 2010 13:15:37 GMT
From: pluknet <pluknet@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [patch] 64-bit aware printf() fixes at tools/tools/netrate
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         146086
>Category:       misc
>Synopsis:       [tools] [patch] 64-bit aware printf() fixes at tools/tools/netrate
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pluknet
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 27 13:20:02 UTC 2010
>Closed-Date:    Tue Oct 19 14:24:11 UTC 2010
>Last-Modified:  Tue Oct 19 14:24:11 UTC 2010
>Originator:     pluknet
>Release:        HEAD r207204
>Organization:
>Environment:
FreeBSD 9.0-CURRENT #10: Mon Apr 26 22:06:30 UTC 2010 root@xxx:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
64-bit aware printf() modifier fixes in tools/tools/netrate.

1) netrate/juggle
time_t has arch-dependent size

2) netrate/tcpconnect
uint64_t has %lu on 64bit, but %llu on 32bit

Replace these modifiers to begin with %j
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: tools/tools/netrate/tcpconnect/tcpconnect.c
===================================================================
--- tools/tools/netrate/tcpconnect/tcpconnect.c	(revision 207204)
+++ tools/tools/netrate/tcpconnect/tcpconnect.c	(working copy)
@@ -128,8 +128,8 @@
 		if (try_connect(&sin) == 0)
 			counter++;
 	}
-	printf("%llu count\n", counter);
-	printf("%llu connections/second\n", counter / SECONDS);
+	printf("%ju count\n", counter);
+	printf("%ju connections/second\n", counter / SECONDS);
 
 	return (0);
 }
Index: tools/tools/netrate/juggle/juggle.c
===================================================================
--- tools/tools/netrate/juggle/juggle.c	(revision 207204)
+++ tools/tools/netrate/juggle/juggle.c	(working copy)
@@ -557,7 +557,7 @@
 				if (j != 0)
 					printf(", ");
 				scale_timespec(&juggle_results[j], p);
-				printf("%u.%09lu", juggle_results[j].tv_sec,
+				printf("%ju.%09lu", juggle_results[j].tv_sec,
 				    juggle_results[j].tv_nsec);
 			}
 			printf("\n");
@@ -567,7 +567,7 @@
 				if (j != 0)
 					printf(", ");
 				scale_timespec(&process_results[j], p);
-				printf("%u.%09lu", process_results[j].tv_sec,
+				printf("%ju.%09lu", process_results[j].tv_sec,
 				    process_results[j].tv_nsec);
 			}
 			printf("\n");
@@ -577,7 +577,7 @@
 				if (j != 0)
 					printf(", ");
 				scale_timespec(&thread_results[j], p);
-				printf("%u.%09lu", thread_results[j].tv_sec,
+				printf("%ju.%09lu", thread_results[j].tv_sec,
 				    thread_results[j].tv_nsec);
 			}
 			printf("\n");


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->pluknet 
Responsible-Changed-By: pluknet 
Responsible-Changed-When: Thu Oct 7 14:11:10 UTC 2010 
Responsible-Changed-Why:  
Take. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=146086 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: misc/146086: commit references a PR
Date: Fri,  8 Oct 2010 14:31:56 +0000 (UTC)

 Author: pluknet
 Date: Fri Oct  8 14:31:49 2010
 New Revision: 213574
 URL: http://svn.freebsd.org/changeset/base/213574
 
 Log:
   Clean up tools in tools/tools/netrate.
   
   - tcpconnect incorrectly uses err() in usage() with errx() semantics [1]
     That produces dirty error message:
     tcpconnect: usage: tcpconnect [ip]: Unknown error: 0
   - 64-bit aware fixes in printf() usage [2]
   o   netrate/juggle: time_t has arch-dependent size
   o   netrate/tcpconnect: don't assume %ll has always 64bit.
   
   PR:		146088 [1], 146086 [2] (modified)
   Approved by:	kib (mentor)
   MFC after:	1 week
 
 Modified:
   head/tools/tools/netrate/juggle/juggle.c
   head/tools/tools/netrate/tcpconnect/tcpconnect.c
 
 Modified: head/tools/tools/netrate/juggle/juggle.c
 ==============================================================================
 --- head/tools/tools/netrate/juggle/juggle.c	Fri Oct  8 12:40:16 2010	(r213573)
 +++ head/tools/tools/netrate/juggle/juggle.c	Fri Oct  8 14:31:49 2010	(r213574)
 @@ -28,6 +28,7 @@
  
  #include <sys/types.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  #include <sys/time.h>
  #include <sys/utsname.h>
  #include <sys/wait.h>
 @@ -557,7 +558,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&juggle_results[j], p);
 -				printf("%u.%09lu", juggle_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)juggle_results[j].tv_sec,
  				    juggle_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -567,7 +569,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&process_results[j], p);
 -				printf("%u.%09lu", process_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +                                    (intmax_t)process_results[j].tv_sec,
  				    process_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -577,7 +580,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&thread_results[j], p);
 -				printf("%u.%09lu", thread_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)thread_results[j].tv_sec,
  				    thread_results[j].tv_nsec);
  			}
  			printf("\n");
 
 Modified: head/tools/tools/netrate/tcpconnect/tcpconnect.c
 ==============================================================================
 --- head/tools/tools/netrate/tcpconnect/tcpconnect.c	Fri Oct  8 12:40:16 2010	(r213573)
 +++ head/tools/tools/netrate/tcpconnect/tcpconnect.c	Fri Oct  8 14:31:49 2010	(r213574)
 @@ -31,6 +31,7 @@
  #include <sys/ioctl.h>
  #include <sys/select.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  
  #include <netinet/in.h>
  
 @@ -110,7 +111,7 @@ main(int argc, char *argv[])
  	u_int64_t counter;
  
  	if (argc != 2)
 -		err(-1, "usage: tcpconnect [ip]");
 +		errx(-1, "usage: tcpconnect [ip]");
  
  	bzero(&sin, sizeof(sin));
  	sin.sin_family = AF_INET;
 @@ -128,8 +129,8 @@ main(int argc, char *argv[])
  		if (try_connect(&sin) == 0)
  			counter++;
  	}
 -	printf("%llu count\n", counter);
 -	printf("%llu connections/second\n", counter / SECONDS);
 +	printf("%ju count\n", (uintmax_t)counter);
 +	printf("%ju connections/second\n", (uintmax_t)(counter / SECONDS));
  
  	return (0);
  }
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: pluknet 
State-Changed-When: Fri Oct 8 14:47:02 UTC 2010 
State-Changed-Why:  
Fixed in HEAD. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=146086 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: misc/146086: commit references a PR
Date: Tue, 19 Oct 2010 14:09:23 +0000 (UTC)

 Author: pluknet
 Date: Tue Oct 19 14:09:17 2010
 New Revision: 214057
 URL: http://svn.freebsd.org/changeset/base/214057
 
 Log:
   MFC r213574:
   - tcpconnect incorrectly uses err() in usage() with errx() semantics [1]
   - 64-bit aware fixes in printf() usage [2]
   o   netrate/juggle: time_t has arch-dependent size
   o   netrate/tcpconnect: don't assume %ll has always 64bit.
   
   PR:		146088 [1], 146086 [2] (modified)
   Approved by:	kib (mentor)
 
 Modified:
   stable/8/tools/tools/netrate/juggle/juggle.c
   stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c
 Directory Properties:
   stable/8/tools/tools/netrate/   (props changed)
   stable/8/tools/tools/netrate/tcpp/   (props changed)
 
 Modified: stable/8/tools/tools/netrate/juggle/juggle.c
 ==============================================================================
 --- stable/8/tools/tools/netrate/juggle/juggle.c	Tue Oct 19 13:31:43 2010	(r214056)
 +++ stable/8/tools/tools/netrate/juggle/juggle.c	Tue Oct 19 14:09:17 2010	(r214057)
 @@ -28,6 +28,7 @@
  
  #include <sys/types.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  #include <sys/time.h>
  #include <sys/utsname.h>
  #include <sys/wait.h>
 @@ -557,7 +558,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&juggle_results[j], p);
 -				printf("%u.%09lu", juggle_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)juggle_results[j].tv_sec,
  				    juggle_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -567,7 +569,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&process_results[j], p);
 -				printf("%u.%09lu", process_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +                                    (intmax_t)process_results[j].tv_sec,
  				    process_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -577,7 +580,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&thread_results[j], p);
 -				printf("%u.%09lu", thread_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)thread_results[j].tv_sec,
  				    thread_results[j].tv_nsec);
  			}
  			printf("\n");
 
 Modified: stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c
 ==============================================================================
 --- stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c	Tue Oct 19 13:31:43 2010	(r214056)
 +++ stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c	Tue Oct 19 14:09:17 2010	(r214057)
 @@ -31,6 +31,7 @@
  #include <sys/ioctl.h>
  #include <sys/select.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  
  #include <netinet/in.h>
  
 @@ -110,7 +111,7 @@ main(int argc, char *argv[])
  	u_int64_t counter;
  
  	if (argc != 2)
 -		err(-1, "usage: tcpconnect [ip]");
 +		errx(-1, "usage: tcpconnect [ip]");
  
  	bzero(&sin, sizeof(sin));
  	sin.sin_family = AF_INET;
 @@ -128,8 +129,8 @@ main(int argc, char *argv[])
  		if (try_connect(&sin) == 0)
  			counter++;
  	}
 -	printf("%llu count\n", counter);
 -	printf("%llu connections/second\n", counter / SECONDS);
 +	printf("%ju count\n", (uintmax_t)counter);
 +	printf("%ju connections/second\n", (uintmax_t)(counter / SECONDS));
  
  	return (0);
  }
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: misc/146086: commit references a PR
Date: Tue, 19 Oct 2010 14:11:59 +0000 (UTC)

 Author: pluknet
 Date: Tue Oct 19 14:11:50 2010
 New Revision: 214058
 URL: http://svn.freebsd.org/changeset/base/214058
 
 Log:
   MFC r213574:
   - tcpconnect incorrectly uses err() in usage() with errx() semantics [1]
   - 64-bit aware fixes in printf() usage [2]
   o   netrate/juggle: time_t has arch-dependent size
   o   netrate/tcpconnect: don't assume %ll has always 64bit.
   
   PR:		146088 [1], 146086 [2] (modified)
   Approved by:	kib (mentor)
 
 Modified:
   stable/7/tools/tools/netrate/juggle/juggle.c
   stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c
 Directory Properties:
   stable/7/tools/tools/netrate/   (props changed)
 
 Modified: stable/7/tools/tools/netrate/juggle/juggle.c
 ==============================================================================
 --- stable/7/tools/tools/netrate/juggle/juggle.c	Tue Oct 19 14:09:17 2010	(r214057)
 +++ stable/7/tools/tools/netrate/juggle/juggle.c	Tue Oct 19 14:11:50 2010	(r214058)
 @@ -28,6 +28,7 @@
  
  #include <sys/types.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  #include <sys/time.h>
  #include <sys/utsname.h>
  #include <sys/wait.h>
 @@ -557,7 +558,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&juggle_results[j], p);
 -				printf("%u.%09lu", juggle_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)juggle_results[j].tv_sec,
  				    juggle_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -567,7 +569,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&process_results[j], p);
 -				printf("%u.%09lu", process_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +                                    (intmax_t)process_results[j].tv_sec,
  				    process_results[j].tv_nsec);
  			}
  			printf("\n");
 @@ -577,7 +580,8 @@ main(int argc, char *argv[])
  				if (j != 0)
  					printf(", ");
  				scale_timespec(&thread_results[j], p);
 -				printf("%u.%09lu", thread_results[j].tv_sec,
 +				printf("%jd.%09lu",
 +				    (intmax_t)thread_results[j].tv_sec,
  				    thread_results[j].tv_nsec);
  			}
  			printf("\n");
 
 Modified: stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c
 ==============================================================================
 --- stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c	Tue Oct 19 14:09:17 2010	(r214057)
 +++ stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c	Tue Oct 19 14:11:50 2010	(r214058)
 @@ -31,6 +31,7 @@
  #include <sys/ioctl.h>
  #include <sys/select.h>
  #include <sys/socket.h>
 +#include <sys/stdint.h>
  
  #include <netinet/in.h>
  
 @@ -110,7 +111,7 @@ main(int argc, char *argv[])
  	u_int64_t counter;
  
  	if (argc != 2)
 -		err(-1, "usage: tcpconnect [ip]");
 +		errx(-1, "usage: tcpconnect [ip]");
  
  	bzero(&sin, sizeof(sin));
  	sin.sin_family = AF_INET;
 @@ -128,8 +129,8 @@ main(int argc, char *argv[])
  		if (try_connect(&sin) == 0)
  			counter++;
  	}
 -	printf("%llu count\n", counter);
 -	printf("%llu connections/second\n", counter / SECONDS);
 +	printf("%ju count\n", (uintmax_t)counter);
 +	printf("%ju connections/second\n", (uintmax_t)(counter / SECONDS));
  
  	return (0);
  }
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: pluknet 
State-Changed-When: Tue Oct 19 14:23:27 UTC 2010 
State-Changed-Why:  
Merged to 8 and 7. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=146086 
>Unformatted:
