diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/app/ann2rr.c wfdb-10.4.10/app/ann2rr.c --- wfdb-10.4.9/app/ann2rr.c 2003-02-08 16:41:29.000000000 -0500 +++ wfdb-10.4.10/app/ann2rr.c 2008-10-30 19:01:14.000000000 -0400 @@ -1,5 +1,5 @@ /* file: ann2rr.c G. Moody 16 May 1995 - Last revised: 8 February 2003 + Last revised: 30 October 2008 ------------------------------------------------------------------------------- ann2rr: Calculate RR intervals from an annotation file Copyright (C) 2003 George B. Moody @@ -208,7 +208,7 @@ to = strtim(argv[(int)to]); if (to < (WFDB_Time)0) to = -to; } - if (to < from) { + if (to > (WFDB_Time)0 && to < from) { WFDB_Time tt = from; from = to; diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/conf/version.def wfdb-10.4.10/conf/version.def --- wfdb-10.4.9/conf/version.def 2008-08-12 16:13:23.000000000 -0400 +++ wfdb-10.4.10/conf/version.def 2008-10-31 14:12:05.000000000 -0400 @@ -1,11 +1,11 @@ # file: version.def G. Moody 24 May 2000 -# Last revised: 12 August 2008 +# Last revised: 31 October 2008 # Each release of the WFDB Software Package is identified by a three-part # version number, defined below. Be sure to leave a single space before # and after the "=" in each of the next three lines! MAJOR = 10 MINOR = 4 -RELEASE = 9 +RELEASE = 10 VERSION = $(MAJOR).$(MINOR).$(RELEASE) # RPMRELEASE can be incremented if changes are made between official diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/convert/edf2mit.c wfdb-10.4.10/convert/edf2mit.c --- wfdb-10.4.9/convert/edf2mit.c 2007-12-20 10:27:23.000000000 -0500 +++ wfdb-10.4.10/convert/edf2mit.c 2008-10-27 15:56:28.000000000 -0400 @@ -1,5 +1,5 @@ /* file: edf2mit.c G. Moody 16 October 1996 - Last revised: 4 June 2004 + Last revised: 27 October 2008 ------------------------------------------------------------------------------- Convert EDF (European Data Format) file to MIT format header and signal files @@ -297,7 +297,7 @@ for (j = 8; j >= 0 && buf[j] == ' '; j--) buf[j] = '\0'; if (vflag) printf("Signal %d digital minimum: '%s'\n", i, buf); - sscanf(buf, "%d", &sigdmin[i]); + sscanf(buf, "%ld", &sigdmin[i]); } for (i = 0; i < nsig; i++) { @@ -306,7 +306,7 @@ for (j = 8; j >= 0 && buf[j] == ' '; j--) buf[j] = '\0'; if (vflag) printf("Signal %d digital maximum: '%s'\n", i, buf); - sscanf(buf, "%d", &sigdmax[i]); + sscanf(buf, "%ld", &sigdmax[i]); } for (i = 0; i < nsig; i++) { diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/doc/wpg-src/wpg0.tex wfdb-10.4.10/doc/wpg-src/wpg0.tex --- wfdb-10.4.9/doc/wpg-src/wpg0.tex 2008-09-26 15:25:01.000000000 -0400 +++ wfdb-10.4.10/doc/wpg-src/wpg0.tex 2008-10-27 16:26:21.000000000 -0400 @@ -510,6 +510,13 @@ WFDB Software Package distribution, for information on any more recent changes that may not be described here. +@unnumberedsubsec Changes in version 10.4.10 + +EDF digital maximum and minimum values are now read properly in 64-bit +builds; previous versions had a bug in @code{edfparse} (an internal WFDB +library function defined in @file{lib/signal.c}) that did not appear in +32-bit builds. Thanks to Joe Mietus for reporting the problem. + @unnumberedsubsec Changes in version 10.4.9 The WFDB library once again correctly interprets a hyphen (@code{-}) diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/lib/signal.c wfdb-10.4.10/lib/signal.c --- wfdb-10.4.9/lib/signal.c 2008-08-14 17:48:58.000000000 -0400 +++ wfdb-10.4.10/lib/signal.c 2008-10-27 15:01:01.000000000 -0400 @@ -1,5 +1,5 @@ /* file: signal.c G. Moody 13 April 1989 - Last revised: 14 August 2008 wfdblib 10.4.9 + Last revised: 27 October 2008 wfdblib 10.4.10 WFDB library functions for signals _______________________________________________________________________________ @@ -703,12 +703,12 @@ for (s = 0; s < nsig; s++) { wfdb_fread(buf, 1, 8, ifile); /* digital minimum */ - sscanf(buf, "%d", &dmin[s]); + sscanf(buf, "%ld", &dmin[s]); } for (s = 0; s < nsig; s++) { wfdb_fread(buf, 1, 8, ifile); /* digital maximum */ - sscanf(buf, "%d", &dmax[s]); + sscanf(buf, "%ld", &dmax[s]); hsd[s]->info.initval = hsd[s]->info.adczero = (dmax[s]+1 + dmin[s])/2; adcrange = dmax[s] - dmin[s]; for (i = 0; adcrange > 1; i++) diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/lib/wfdb.h wfdb-10.4.10/lib/wfdb.h --- wfdb-10.4.9/lib/wfdb.h 2008-10-10 13:44:07.000000000 -0400 +++ wfdb-10.4.10/lib/wfdb.h 2008-10-31 14:50:10.000000000 -0400 @@ -33,7 +33,7 @@ /* WFDB library version. */ #define WFDB_MAJOR 10 #define WFDB_MINOR 4 -#define WFDB_RELEASE 9 +#define WFDB_RELEASE 10 #define WFDB_NETFILES 1 /* if 1, library includes code for HTTP, FTP clients */ #define WFDB_NETFILES_LIBCURL 1 diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/NEWS wfdb-10.4.10/NEWS --- wfdb-10.4.9/NEWS 2008-10-10 15:00:23.000000000 -0400 +++ wfdb-10.4.10/NEWS 2008-10-31 14:55:29.000000000 -0400 @@ -1,3 +1,18 @@ +10.4.10: + EDF digital maximum and minimum values are now read properly in 64-bit + builds; previous versions had a bug in edfparse (an internal WFDB + library function defined in lib/signal.c) that did not appear in + 32-bit builds. A similar bug was also corrected in convert/edf2mit. + Thanks to Joe Mietus for reporting the problem. + + Using a block size that is not a power of 2 with the "-n" and "-N" + options of "fft" now works properly (although powers of 2 are still + recommended for best results). Thanks again to Joe Mietus for + reporting the problem and valuable assistance in correcting it. + + The "-f" option now works properly in ann2rr (previous versions + worked only if "-t" was also provided). + 10.4.9: The "configure" script is now non-interactive by default. A new "-i" option selects interactive mode. diff -Naur --exclude Makefile --exclude info wfdb-10.4.9/psd/fft.c wfdb-10.4.10/psd/fft.c --- wfdb-10.4.9/psd/fft.c 2005-06-10 09:51:11.000000000 -0400 +++ wfdb-10.4.10/psd/fft.c 2008-10-27 14:57:38.000000000 -0400 @@ -1,5 +1,5 @@ /* file: fft.c G. Moody 24 February 1988 - Last revised: 10 June 2005 + Last revised: 27 October 2008 ------------------------------------------------------------------------------- fft: Fast Fourier transform of real data @@ -409,6 +409,8 @@ ; } if (n < nflag) break; + for (i = n; i < m; i++) /* re-zero the padding, if any */ + c[i] = 0; fft(); if (Nflag) fft_out();