ports/102665: www/sarg progress indicator broken
Alex Samorukov
samm at os2.kiev.ua
Tue Aug 29 22:40:16 UTC 2006
>Number: 102665
>Category: ports
>Synopsis: www/sarg progress indicator broken
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Aug 29 22:40:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Alex Samorukov
>Release: FreeBSD 6.1-RELEASE i386
>Organization:
Shevchenko Didkovskiy and Partners
>Environment:
System: FreeBSD 6.1-RELEASE #2: Wed May 17 22:22:18 EEST 2006
root at samm.local:/usr/obj/usr/src/sys/SAMMKRNL
>Description:
When running sarg 2.2.2 i get garbage instead off progress indicator:
SARG: Records in file: 645549, reading: -272893874588218345799594564781958471725SARG: Records in file: 645549, reading: -272893874588218345799594564781958471725
The problem is caused by the incorrect modifier for the off_t variable. log.c use %d (int), when freebsd use "long long" type, so next value is corrupted. I created separate bugreport at the http://sourceforge.net/tracker/index.php?func=detail&aid=1548911&group_id=68910&atid=522791, which fix this problem.
>How-To-Repeat:
Install, configure and run sarg. Progress indicator will be broken. After proposed patch progress indicator will work as designed.
>Fix:
diff --new-file -u -r sarg/files/patch-log.c sarg.new/files/patch-log.c
--- sarg/files/patch-log.c Thu Jan 1 03:00:00 1970
+++ sarg.new/files/patch-log.c Wed Aug 30 01:36:08 2006
@@ -0,0 +1,30 @@
+diff -u -r sarg/work/sarg-2.2.2/log.c sarg.new/work/sarg-2.2.2/log.c
+--- log.c Tue Aug 29 14:09:32 2006
++++ log.c Wed Aug 30 01:34:18 2006
+@@ -772,7 +772,7 @@
+ while( fgets(bufz,sizeof(bufz),fp_in) != NULL ) recs1++;
+ rewind(fp_in);
+
+- printf("SARG: Records in file: %d, reading: %3.2f%%\r",recs1,(float) 0);
++ printf("SARG: Records in file: %lli, reading: %3.2f%%\r",recs1,(float) 0);
+ fflush( stdout ) ;
+ }
+
+@@ -781,7 +781,7 @@
+ if( bool_ShowReadStatistics && ! --OutputNonZero) {
+ perc = recs2 * 100 ;
+ perc = perc / recs1 ;
+- printf("SARG: Records in file: %d, reading: %3.2f%%\r",recs1,perc);
++ printf("SARG: Records in file: %lli, reading: %3.2f%%\r",recs1,perc);
+ fflush (stdout);
+ OutputNonZero = REPORT_EVERY_X_LINES ;
+ }
+@@ -1267,7 +1267,7 @@
+ }
+ }
+ if( bool_ShowReadStatistics )
+- printf("SARG: Records in file: %d, reading: %3.2f%%\n",recs1, (float) 100 );
++ printf("SARG: Records in file: %lli, reading: %3.2f%%\n",recs1, (float) 100 );
+ }
+
+ if ( fp_Download_Unsort )
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list