diff -Naur '--exclude=Makefile' wfdb-10.6.0/INSTALL wfdb-10.6.1/INSTALL --- wfdb-10.6.0/INSTALL 2013-07-21 13:03:18.000000000 -0400 +++ wfdb-10.6.1/INSTALL 2018-11-28 16:55:57.000000000 -0500 @@ -136,6 +136,6 @@ If you find that changes are necessary in order to compile this software successfully on your platform, please send details to the author -(george@mit.edu) so that others can benefit from your experience. +(wfdb@physionet.org) so that others can benefit from your experience. Contributions of working binaries are welcome, but please write first before sending them to me. Thanks! diff -Naur '--exclude=Makefile' wfdb-10.6.0/Makefile.top wfdb-10.6.1/Makefile.top --- wfdb-10.6.0/Makefile.top 2005-12-02 10:20:51.000000000 -0500 +++ wfdb-10.6.1/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,8 +17,7 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # # In addition, you can redistribute and/or modify the WFDB library (contained # within the 'lib' directory) under the terms of the GNU Library General @@ -26,7 +25,7 @@ # 2 of the License, or (at your option) any later version. For details, see # 'lib/COPYING.LIB'. # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/NEWS wfdb-10.6.1/NEWS --- wfdb-10.6.0/NEWS 2018-01-26 16:43:40.000000000 -0500 +++ wfdb-10.6.1/NEWS 2018-11-28 17:26:14.000000000 -0500 @@ -1,3 +1,44 @@ +10.6.1 (28 November 2018): + 'fir', 'mfilt', 'nst', 'snip', 'mit2wav', 'wfdb2mat', and 'xform' have + been updated to work correctly with multi-frequency input records. + (With the exception of xform in '-M' mode, these applications always + produce uniform-frequency output; in the case of multi-frequency input, + all signals will be resampled to either the highest or lowest sampling + frequency.) + + 'gqrs', 'sqrs', 'sqrs125', 'stepdet', and 'wabp', when invoked in + high-resolution mode, will now write an annotation time resolution + comment, so that other applications can correctly interpret their + output. 'nguess', 'gqfuse', and 'gqpost' will correctly handle + high-resolution input annotations, and produce high-resolution output + annotations in that case. + + 'rdann' will correctly display the elapsed or absolute time for + annotations in an EDF record. This worked correctly in versions + 10.5.24 and earlier, but in version 10.6.0, the time values displayed + were incorrect. + + The WFDB library will correctly handle HTTP redirection responses. The + library has also been optimized in various ways to reduce the amount of + unnecessary network traffic. + + The internal function edfparse() will correctly calculate the ADC + resolution (digital sample range) of EDF signals, and will correctly + interpret EDF files that have an "unknown number of data records". + + Numerous bugs have been corrected in the library functions isigopen(), + getframe(), and isgsettime(), which could cause applications to crash + or produce incorrect results when reading an incorrectly-formatted + record, or a record where some files are missing. + + sample() now returns WFDB_INVALID_SAMPLE if the requested sample is not + in the buffer and cannot be read. In previous versions of the library, + sample() would call exit(), forcing the program to exit immediately. + + On Mac OS X, multi-architecture binaries are no longer produced by + default. They can be enabled, if desired, by passing the argument + '--enable-arch=i386,x86_64' to configure. + 10.6.0 (26 January 2018): A wide variety of bugs have been fixed in the WFDB library, and several new features have been added. See the WFDB Programmer's Guide for diff -Naur '--exclude=Makefile' wfdb-10.6.0/README wfdb-10.6.1/README --- wfdb-10.6.0/README 2000-01-30 01:50:57.000000000 -0500 +++ wfdb-10.6.1/README 2018-11-28 16:55:57.000000000 -0500 @@ -25,10 +25,9 @@ these programs (see 'COPYING' in this directory). You should also have received a copy of the GNU Library General Public License along with the WFDB library (see 'COPYING.LIB' in the lib subdirectory). If you did not receive -copies of both of these licenses, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +copies of both of these licenses, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit http://www.physionet.org/physiotools/. _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/12lead.pro wfdb-10.6.1/app/12lead.pro --- wfdb-10.6.0/app/12lead.pro 2000-10-07 13:59:55.000000000 -0400 +++ wfdb-10.6.1/app/12lead.pro 2018-11-28 16:55:57.000000000 -0500 @@ -16,10 +16,9 @@ % more details. % You should have received a copy of the GNU General Public License along with -% this program; if not, write to the Free Software Foundation, Inc., 59 Temple -% Place - Suite 330, Boston, MA 02111-1307, USA. +% this program; if not, see . -% You may contact the author by e-mail (george@mit.edu) or postal mail +% You may contact the author by e-mail (wfdb@physionet.org) or postal mail % (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, % please visit PhysioNet (http://www.physionet.org/). % _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/Makefile.top wfdb-10.6.1/app/Makefile.top --- wfdb-10.6.0/app/Makefile.top 2000-05-24 22:35:27.000000000 -0400 +++ wfdb-10.6.1/app/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/Makefile.tpl wfdb-10.6.1/app/Makefile.tpl --- wfdb-10.6.0/app/Makefile.tpl 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/app/Makefile.tpl 2018-05-09 12:35:23.000000000 -0400 @@ -1,5 +1,5 @@ # file: Makefile.tpl G. Moody 23 May 2000 -# Last revised: 8 March 2017 +# Last revised: 9 May 2018 # This section of the Makefile should not need to be changed. CFILES = ann2rr.c bxb.c calsig.c ecgeval.c epicmp.c fir.c gqfuse.c gqpost.c \ @@ -79,6 +79,8 @@ bxb: bxb.c $(CC) $(CFLAGS) bxb.c -o $@ $(LDFLAGS) -lm +ihr: ihr.c + $(CC) $(CFLAGS) ihr.c -o $@ $(LDFLAGS) -lm hrstats: hrstats.c $(CC) $(CFLAGS) hrstats.c -o $@ $(LDFLAGS) -lm mxm: mxm.c diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/README wfdb-10.6.1/app/README --- wfdb-10.6.0/app/README 2005-06-08 17:27:10.000000000 -0400 +++ wfdb-10.6.1/app/README 2018-11-28 16:55:57.000000000 -0500 @@ -16,10 +16,9 @@ more details. You should have received a copy of the GNU General Public License along with -these programs; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +these programs; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/ann2rr.c wfdb-10.6.1/app/ann2rr.c --- wfdb-10.6.0/app/ann2rr.c 2009-02-23 09:24:50.000000000 -0500 +++ wfdb-10.6.1/app/ann2rr.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/bxb.c wfdb-10.6.1/app/bxb.c --- wfdb-10.6.0/app/bxb.c 2010-08-11 08:51:18.000000000 -0400 +++ wfdb-10.6.1/app/bxb.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/calsig.c wfdb-10.6.1/app/calsig.c --- wfdb-10.6.0/app/calsig.c 2009-01-07 13:49:48.000000000 -0500 +++ wfdb-10.6.1/app/calsig.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/ecgeval.c wfdb-10.6.1/app/ecgeval.c --- wfdb-10.6.0/app/ecgeval.c 2013-11-19 13:04:39.000000000 -0500 +++ wfdb-10.6.1/app/ecgeval.c 2018-11-28 16:56:51.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -146,10 +145,10 @@ (void)fprintf(stderr, "the WFDB Software Package, from PhysioNet (http://physionet.org/).\n"); (void)fprintf(stderr, - "If you have questions about this software, please contact the author:\n"); + "If you have questions about this software, please contact:\n"); (void)fprintf(stderr, - "\tGeorge B. Moody\n\tMIT Room E25-505A\n\tCambridge, MA 02139 USA\n"); - (void)fprintf(stderr, "\temail: george@mit.edu\n\n"); + "\tPhysioNet\n\tMIT Room E25-505A\n\tCambridge, MA 02139 USA\n"); + (void)fprintf(stderr, "\temail: wfdb@physionet.org\n\n"); if (getdblists() < 0) exit(1); (void)fprintf(stderr, diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/epicmp.c wfdb-10.6.1/app/epicmp.c --- wfdb-10.6.0/app/epicmp.c 2010-05-09 14:15:38.000000000 -0400 +++ wfdb-10.6.1/app/epicmp.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/fir.c wfdb-10.6.1/app/fir.c --- wfdb-10.6.0/app/fir.c 2006-02-25 21:58:44.000000000 -0500 +++ wfdb-10.6.1/app/fir.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: fir.c G. Moody 5 January 1987 - Last revised: 25 February 2006 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- fir: General-purpose FIR filter for database records @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -215,11 +214,13 @@ chout[i] = chin[i]; chout[i].fname = ofname; chout[i].group = 0; + chout[i].spf = 1; } if ((osigfopen(chout, nsig) < nsig)) { wfdbquit(); exit(1); } + setsampfreq(sampfreq(NULL)); } else if (osigopen(orec, chout, (unsigned)nsig) <= 0) { wfdbquit(); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/gqfuse.c wfdb-10.6.1/app/gqfuse.c --- wfdb-10.6.0/app/gqfuse.c 2012-09-25 12:18:33.000000000 -0400 +++ wfdb-10.6.1/app/gqfuse.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: gqfuse.c G. Moody 6 May 2012 - Last revised: 25 September 2012 + Last revised: 9 May 2018 ------------------------------------------------------------------------------- gqfuse: combine QRS annotation files Copyright (C) 2012 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -75,7 +74,7 @@ n, niann = 0, nseg, tdn; WFDB_Anninfo *a; WFDB_Annotation annot; - WFDB_Frequency spm; + WFDB_Frequency sps, spm; WFDB_Time t0, tf; pname = prog_name(argv[0]); @@ -171,7 +170,8 @@ initialize them here (using values chosen for adult human ECGs). */ if (HR == 0.0) HR = 75; - spm = 60.0 * sampfreq(record); /* sample intervals per minute */ + sps = sampfreq(record); + spm = 60.0 * sps; /* sample intervals per minute */ nseg = strtim("e")/spm; /* number of complete 1-minute intervals */ /* Set up buffer for median calculation. */ @@ -183,8 +183,17 @@ for (i = 0; i < niann; i++) count[i] = gcalloc(sizeof(int), nseg+1); - /* Pass 1: Load the HR arrays. */ + /* Open input annotators and determine the highest annotation time + resolution. */ if (annopen(record, a, niann) < 0) cleanup(2); + for (i = 0; i < niann; i++) + if (sps < getiaorigfreq(i)) + sps = getiaorigfreq(i); + for (i = 0; i < niann; i++) + setiafreq(i, sps); + spm = 60.0 * sps; /* annotation ticks per minute */ + + /* Pass 1: Load the HR arrays. */ for (i = 0; i < niann; i++) { for (tf = spm, j = 0; j < nseg+1; tf += spm, j++) { n = 0; @@ -196,6 +205,8 @@ wfdbquit(); /* Pass 2: Select the input annotations to be copied, and copy them. */ + if (sampfreq(record) != sps) + setifreq(sps); if (annopen(record, a, niann+1) < 0) cleanup(2); for (j = 0, t0 = 0, tf = spm; j < nseg+1; j++, t0 = tf, tf += spm) { for (i = 0; i < niann; i++) diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/gqpost.c wfdb-10.6.1/app/gqpost.c --- wfdb-10.6.0/app/gqpost.c 2012-05-06 11:56:50.000000000 -0400 +++ wfdb-10.6.1/app/gqpost.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: gqpost.c G. Moody 16 November 2006 - Last revised: 6 May 2012 + Last revised: 9 May 2018 ------------------------------------------------------------------------------- gqpost: A post-processor for gqrs Copyright (C) 2006-2012 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -195,6 +194,10 @@ sps = sampfreq(record); if (annopen(record, a, 2) < 0) cleanup(2); + if (getiaorigfreq(0) > 0) { + setifreq(sps = getiaorigfreq(0)); + setiafreq(0, sps); + } meanrr = RR * sps; meanrrd = RRdelta * sps; if ((minrrd = meanrrd/2) < 4) minrrd = 4; diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/gqrs.c wfdb-10.6.1/app/gqrs.c --- wfdb-10.6.0/app/gqrs.c 2015-05-28 15:55:11.000000000 -0400 +++ wfdb-10.6.1/app/gqrs.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: gqrs.c G. Moody 16 November 2006 - Last revised: 21 July 2013 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- gqrs: A QRS detector Copyright (C) 2006-2013 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -228,6 +227,8 @@ gvmode & WFDB_HIGHRES ? "\n" : ", try -H option\n"); cleanup(3); } + if (gvmode & WFDB_HIGHRES) + setafreq(sampfreq(NULL)); if (t0 > 0L && (t0 = strtim(argv[t0])) < 0L) t0 = -t0; if (tf > 0L) { diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/hrstats.c wfdb-10.6.1/app/hrstats.c --- wfdb-10.6.0/app/hrstats.c 2012-04-06 15:15:35.000000000 -0400 +++ wfdb-10.6.1/app/hrstats.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/ihr.c wfdb-10.6.1/app/ihr.c --- wfdb-10.6.0/app/ihr.c 2004-03-05 09:46:36.000000000 -0500 +++ wfdb-10.6.1/app/ihr.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/mfilt.c wfdb-10.6.1/app/mfilt.c --- wfdb-10.6.0/app/mfilt.c 2006-02-25 22:06:31.000000000 -0500 +++ wfdb-10.6.1/app/mfilt.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: mfilt.c G. Moody 27 June 1993 - Last revised: 25 February 2006 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- mfilt: General-purpose median filter for database records @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -204,9 +203,11 @@ for (i = 0; i < nsig; i++) { si[i].fname = ofname; si[i].fmt = format; + si[i].spf = 1; } if (osigfopen(si, (unsigned)nsig) < nsig) exit(2); + setsampfreq(sampfreq(NULL)); } else if (osigopen(orec, so, (unsigned)nsig) != nsig) exit(2); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/mrgann.c wfdb-10.6.1/app/mrgann.c --- wfdb-10.6.0/app/mrgann.c 2017-11-03 18:15:52.000000000 -0400 +++ wfdb-10.6.1/app/mrgann.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/mxm.c wfdb-10.6.1/app/mxm.c --- wfdb-10.6.0/app/mxm.c 2002-11-14 17:19:21.000000000 -0500 +++ wfdb-10.6.1/app/mxm.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/nguess.c wfdb-10.6.1/app/nguess.c --- wfdb-10.6.0/app/nguess.c 2008-06-11 11:22:36.000000000 -0400 +++ wfdb-10.6.1/app/nguess.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: nguess.c G. Moody 9 June 1986 - Last revised: 11 June 2008 + Last revised: 30 March 2018 ------------------------------------------------------------------------------- nguess: Guess the times of missing normal sinus beats in an annotation file Copyright (C) 1986-2008 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -180,8 +179,6 @@ an[1].stat = WFDB_WRITE; /* Open the input and output annotation files. */ - if (annopen(record, an, 2) < 0) - exit(2); wfdbquiet(); if ((sps = sampfreq(record)) < 0) { fprintf(stderr, @@ -190,6 +187,12 @@ setsampfreq(sps); } wfdbverbose(); + if (annopen(record, an, 2) < 0) + exit(2); + if (getiaorigfreq(0) > sps) { + setifreq(sps = getiaorigfreq(0)); + setiafreq(0, sps); + } if (from) { from = strtim(argv[(int)from]); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/nst.c wfdb-10.6.1/app/nst.c --- wfdb-10.6.0/app/nst.c 2009-10-06 11:39:40.000000000 -0400 +++ wfdb-10.6.1/app/nst.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: nst.c G. Moody 8 December 1983 - Last revised: 6 October 2009 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- nst: Noise stress test Copyright (C) 1983-2009 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -146,7 +145,7 @@ !(*wfdbp == '.' && ((*wfdbp+1) == PSEP || *(wfdbp+1) == ' '))) { char *nwfdbp; - if ((nwfdbp = (char *)malloc(strlen(wfdbp+2))) == NULL) { + if ((nwfdbp = (char *)malloc(strlen(wfdbp)+2)) == NULL) { fprintf(stderr, "%s: insufficient memory\n", pname); exit(1); } @@ -215,8 +214,8 @@ (g = malloc(nisig * sizeof(double))) == NULL || (gn = malloc(nisig * sizeof(double))) == NULL || (nse = malloc(nisig * sizeof(int))) == NULL || - (vin = malloc(nisig * sizeof(int))) == NULL || - (vout = malloc(nisig * sizeof(int))) == NULL || + (vin = malloc((nisig+nnsig) * sizeof(int))) == NULL || + (vout = calloc(nisig, sizeof(int))) == NULL || (z = calloc(nisig, sizeof(int))) == NULL || (zz = calloc(nisig, sizeof(int))) == NULL) { (void)fprintf(stderr, "%s: insufficient memory\n", pname); @@ -450,11 +449,13 @@ zz[i] = si[i].adczero; /* any offset will be removed */ si[i].adczero = 0; si[i].fmt = format; + si[i].spf = 1; gn[i] = 0.0; nse[i] = nisig + (i % nnsig); /* signal number of noise signal to be added to ECG signal i */ } if (osigfopen(si, (unsigned)nisig) < nisig) exit(2); + setsampfreq(sampfreq(NULL)); if ((nend = strtim("e")) <= 0L) nlen = nend = strtim("30:0"); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/plotstm.c wfdb-10.6.1/app/plotstm.c --- wfdb-10.6.0/app/plotstm.c 2005-06-10 09:50:23.000000000 -0400 +++ wfdb-10.6.1/app/plotstm.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/pscgen.c wfdb-10.6.1/app/pscgen.c --- wfdb-10.6.0/app/pscgen.c 2002-05-20 18:20:34.000000000 -0400 +++ wfdb-10.6.1/app/pscgen.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/pschart.c wfdb-10.6.1/app/pschart.c --- wfdb-10.6.0/app/pschart.c 2017-11-02 13:57:11.000000000 -0400 +++ wfdb-10.6.1/app/pschart.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: pschart.c G. Moody 15 March 1988 - Last revised: 2 November 2017 + Last revised: 9 May 2018 ------------------------------------------------------------------------------- pschart: Produce annotated `chart recordings' on a PostScript device @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -42,32 +41,6 @@ #include #include -/* The ANSI C function strstr is defined here for those systems that don't - include it in their libraries. This includes all older (pre-ANSI) C - libraries; some modern non-ANSI C libraries (notably those supplied with - SunOS 4.1) do have strstr, so we can't just make this conditional on - __STDC__. */ -#ifdef sun -#ifdef i386 -#define NOSTRSTR -#endif -#endif - -#ifdef NOSTRSTR -char *strstr(s1, s2) -char *s1, *s2; -{ - char *p = s1; - int n; - - if (s1 == NULL || s2 == NULL || *s2 == '\0') return (s1); - n = strlen(s2); - while ((p = strchr(p, *s2)) && strncmp(p, s2, n)) - p++; - return (p); -} -#endif - /* PROLOG is the pathname of the accompanying prolog file, `pschart.pro', which should normally be accessible to this program at run-time. In most cases, PROLOG should be an absolute pathname (beginning from the root directory), diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/pschart.pro wfdb-10.6.1/app/pschart.pro --- wfdb-10.6.0/app/pschart.pro 2005-08-11 17:47:32.000000000 -0400 +++ wfdb-10.6.1/app/pschart.pro 2018-11-28 16:55:57.000000000 -0500 @@ -16,10 +16,9 @@ % more details. % You should have received a copy of the GNU General Public License along with -% this program; if not, write to the Free Software Foundation, Inc., 59 Temple -% Place - Suite 330, Boston, MA 02111-1307, USA. +% this program; if not, see . -% You may contact the author by e-mail (george@mit.edu) or postal mail +% You may contact the author by e-mail (wfdb@physionet.org) or postal mail % (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, % please visit PhysioNet (http://www.physionet.org/). % _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/psfd.c wfdb-10.6.1/app/psfd.c --- wfdb-10.6.0/app/psfd.c 2017-11-02 13:57:11.000000000 -0400 +++ wfdb-10.6.1/app/psfd.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: psfd.c G. Moody 9 August 1988 - Last revised: 2 November 2017 + Last revised: 9 May 2018 ------------------------------------------------------------------------------- psfd: Produces annotated full-disclosure ECG plots on a PostScript device @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -49,32 +48,6 @@ #include #include -/* The ANSI C function strstr is defined here for those systems that don't - include it in their libraries. This includes all older (pre-ANSI) C - libraries; some modern non-ANSI C libraries (notably those supplied with - SunOS 4.1) do have strstr, so we can't just make this conditional on - __STDC__. */ -#ifdef sun -#ifdef i386 -#define NOSTRSTR -#endif -#endif - -#ifdef NOSTRSTR -char *strstr(s1, s2) -char *s1, *s2; -{ - char *p = s1; - int n; - - if (s1 == NULL || s2 == NULL || *s2 == '\0') return (s1); - n = strlen(s2); - while ((p = strchr(p, *s2)) && strncmp(p, s2, n)) - p++; - return (p); -} -#endif - /* PROLOG is the pathname of the accompanying prolog file, `psfd.pro', which should normally be accessible to this program at run-time. In most cases, PROLOG should be an absolute pathname (beginning from the root directory), diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/psfd.pro wfdb-10.6.1/app/psfd.pro --- wfdb-10.6.0/app/psfd.pro 2005-08-11 17:49:03.000000000 -0400 +++ wfdb-10.6.1/app/psfd.pro 2018-11-28 16:55:57.000000000 -0500 @@ -16,10 +16,9 @@ % more details. % You should have received a copy of the GNU General Public License along with -% this program; if not, write to the Free Software Foundation, Inc., 59 Temple -% Place - Suite 330, Boston, MA 02111-1307, USA. +% this program; if not, see . -% You may contact the author by e-mail (george@mit.edu) or postal mail +% You may contact the author by e-mail (wfdb@physionet.org) or postal mail % (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, % please visit PhysioNet (http://www.physionet.org/). % _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/rdann.c wfdb-10.6.1/app/rdann.c --- wfdb-10.6.0/app/rdann.c 2017-11-03 18:54:35.000000000 -0400 +++ wfdb-10.6.1/app/rdann.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file rdann.c T. Baker and G. Moody 27 July 1981 - Last revised: 3 November 2017 + Last revised: 26 October 2018 ------------------------------------------------------------------------------- rdann: Print an annotation file in ASCII form @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -287,7 +286,7 @@ (void)printf("Type Sub Chan Num\tAux\n"); } - setsampfreq(tps); + setifreq(tps); setiafreq(0, tps); while (getann(0, &annot) == 0) { if (tps == sps) { diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/rdsamp.c wfdb-10.6.1/app/rdsamp.c --- wfdb-10.6.0/app/rdsamp.c 2018-01-23 17:03:04.000000000 -0500 +++ wfdb-10.6.1/app/rdsamp.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/rr2ann.c wfdb-10.6.1/app/rr2ann.c --- wfdb-10.6.0/app/rr2ann.c 2002-11-01 07:23:22.000000000 -0500 +++ wfdb-10.6.1/app/rr2ann.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/rxr.c wfdb-10.6.1/app/rxr.c --- wfdb-10.6.0/app/rxr.c 2009-08-07 10:00:48.000000000 -0400 +++ wfdb-10.6.1/app/rxr.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sampfreq.c wfdb-10.6.1/app/sampfreq.c --- wfdb-10.6.0/app/sampfreq.c 2012-07-30 09:14:10.000000000 -0400 +++ wfdb-10.6.1/app/sampfreq.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sigamp.c wfdb-10.6.1/app/sigamp.c --- wfdb-10.6.0/app/sigamp.c 2009-11-13 12:03:06.000000000 -0500 +++ wfdb-10.6.1/app/sigamp.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sigavg.c wfdb-10.6.1/app/sigavg.c --- wfdb-10.6.0/app/sigavg.c 2002-11-25 23:52:12.000000000 -0500 +++ wfdb-10.6.1/app/sigavg.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/signame.c wfdb-10.6.1/app/signame.c --- wfdb-10.6.0/app/signame.c 2008-04-09 15:14:44.000000000 -0400 +++ wfdb-10.6.1/app/signame.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/signum.c wfdb-10.6.1/app/signum.c --- wfdb-10.6.0/app/signum.c 2008-04-09 18:16:47.000000000 -0400 +++ wfdb-10.6.1/app/signum.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/skewedit.c wfdb-10.6.1/app/skewedit.c --- wfdb-10.6.0/app/skewedit.c 2002-11-14 17:31:39.000000000 -0500 +++ wfdb-10.6.1/app/skewedit.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/snip.c wfdb-10.6.1/app/snip.c --- wfdb-10.6.0/app/snip.c 2013-12-01 14:18:00.000000000 -0500 +++ wfdb-10.6.1/app/snip.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: snip.c G. Moody 30 July 1989 - Last revised: 1 December 2013 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- snip: Copy an excerpt of a database record Copyright (C) 1989-2013 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -412,6 +411,7 @@ si[i].fname = ofname; si[i].group = 0; si[i].fmt = fmt; + si[i].spf = 1; } if (osigfopen(si, (unsigned)nsig) != nsig) exit(2); @@ -431,6 +431,7 @@ free(ofname); free(si); free(v); + setsampfreq(sampfreq(NULL)); if (tstring[0]) setbasetime(tstring); (void)newheader(nrec); } diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sortann.c wfdb-10.6.1/app/sortann.c --- wfdb-10.6.0/app/sortann.c 2017-11-03 18:11:54.000000000 -0400 +++ wfdb-10.6.1/app/sortann.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sqrs.c wfdb-10.6.1/app/sqrs.c --- wfdb-10.6.0/app/sqrs.c 2010-04-09 13:59:18.000000000 -0400 +++ wfdb-10.6.1/app/sqrs.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: sqrs.c G. Moody 27 October 1990 - Last revised: 9 April 2010 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- sqrs: Single-channel QRS detector @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -177,6 +176,8 @@ } if (sampfreq((char *)NULL) < 240. || sampfreq((char *)NULL) > 260.) setifreq(250.); + else if (gvmode & WFDB_HIGHRES) + setafreq(sampfreq(NULL)); a.name = "qrs"; a.stat = WFDB_WRITE; if (annopen(record, &a, 1) < 0) exit(2); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sqrs125.c wfdb-10.6.1/app/sqrs125.c --- wfdb-10.6.0/app/sqrs125.c 2010-04-09 13:59:16.000000000 -0400 +++ wfdb-10.6.1/app/sqrs125.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: sqrs125.c G. Moody 27 October 1990 - Last revised: 9 April 2010 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- sqrs125: Single-channel QRS detector for data sampled at 100 - 150 Hz @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -185,6 +184,8 @@ } if (sampfreq((char *)NULL) < 120. || sampfreq((char *)NULL) > 130.) setifreq(125.); + else if (gvmode & WFDB_HIGHRES) + setafreq(sampfreq(NULL)); a.name = "qrs"; a.stat = WFDB_WRITE; if (annopen(record, &a, 1) < 0) exit(2); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/stepdet.c wfdb-10.6.1/app/stepdet.c --- wfdb-10.6.0/app/stepdet.c 2014-02-28 13:33:38.000000000 -0500 +++ wfdb-10.6.1/app/stepdet.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,4 +1,5 @@ /* file: stepdet.c G. Moody 28 February 2014 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- stepann: detect and annotate step changes in a signal @@ -14,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -147,6 +147,8 @@ } if ((nsig = isigopen(record, s, nsig)) < 1) exit(2); + if (gvmode & WFDB_HIGHRES) + setafreq(sampfreq(NULL)); if (annopen(record, &a, 1) < 0) exit(2); if (from > 0L) { diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sumann.c wfdb-10.6.1/app/sumann.c --- wfdb-10.6.0/app/sumann.c 2012-08-02 13:02:31.000000000 -0400 +++ wfdb-10.6.1/app/sumann.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/sumstats.c wfdb-10.6.1/app/sumstats.c --- wfdb-10.6.0/app/sumstats.c 2017-12-11 15:55:32.000000000 -0500 +++ wfdb-10.6.1/app/sumstats.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/tach.c wfdb-10.6.1/app/tach.c --- wfdb-10.6.0/app/tach.c 2002-11-14 19:00:00.000000000 -0500 +++ wfdb-10.6.1/app/tach.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/time2sec.c wfdb-10.6.1/app/time2sec.c --- wfdb-10.6.0/app/time2sec.c 2010-01-19 11:46:09.000000000 -0500 +++ wfdb-10.6.1/app/time2sec.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wabp.c wfdb-10.6.1/app/wabp.c --- wfdb-10.6.0/app/wabp.c 2010-04-09 13:53:59.000000000 -0400 +++ wfdb-10.6.1/app/wabp.c 2018-11-28 16:52:35.000000000 -0500 @@ -1,5 +1,5 @@ /* file wabp.c Wei Zong 23 October 1998 - Last revised: 9 April 2010 (by G. Moody) + Last revised: 22 March 2018 ----------------------------------------------------------------------------- wabp: beat detector for arterial blood presure (ABP) signal Copyright (C) 1998-2010 Wei Zong @@ -14,8 +14,7 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . You may contact the author by e-mail (wzong@mit.edu) or postal mail (MIT Room E25-505, Cambridge, MA 02139, USA). For updates to this software, @@ -271,6 +270,8 @@ sps = sampfreq((char *)NULL); if (Rflag) setifreq(sps = 125.); + else if (gvmode & WFDB_HIGHRES) + setafreq(sps); if (from > 0L) { if ((from = strtim(argv[from])) < 0L) from = -from; diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdb-config.c wfdb-10.6.1/app/wfdb-config.c --- wfdb-10.6.0/app/wfdb-config.c 2015-05-28 15:55:11.000000000 -0400 +++ wfdb-10.6.1/app/wfdb-config.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbcat.c wfdb-10.6.1/app/wfdbcat.c --- wfdb-10.6.0/app/wfdbcat.c 2000-05-23 00:14:30.000000000 -0400 +++ wfdb-10.6.1/app/wfdbcat.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: wfdbcat.c G. Moody 3 March 2000 - Last revised: 22 May 2000 + Last revised: 18 May 2018 ------------------------------------------------------------------------------- wfdbcat: Find and concatenate WFDB files on the standard output Copyright (C) 2000 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -26,35 +25,7 @@ #include #include - -/* Structures used by internal WFDB library functions only */ -struct netfile { - char *url; - char *data; - int mode; - long base_addr; - long cont_len; - long pos; - long err; - int fd; -}; - -struct WFDB_FILE { - FILE *fp; - struct netfile *netfp; - int type; -}; - -typedef struct WFDB_FILE WFDB_FILE; - -extern WFDB_FILE *wfdb_open(char *file_type, char *record, int mode); -#if WFDB_NETFILES -extern size_t wfdb_fread(void *ptr, size_t size, size_t nmemb, WFDB_FILE *fp); -extern int wfdb_fclose(WFDB_FILE *fp); -#else -#define wfdb_fread(p, s, n, wp) fread(p, s, n, wp->fp) -#define wfdb_fclose(wp) fclose(wp->fp) -#endif +#include #ifndef __STDC__ extern void exit(); diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbcollate.c wfdb-10.6.1/app/wfdbcollate.c --- wfdb-10.6.0/app/wfdbcollate.c 2002-11-14 19:02:58.000000000 -0500 +++ wfdb-10.6.1/app/wfdbcollate.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbdesc.c wfdb-10.6.1/app/wfdbdesc.c --- wfdb-10.6.0/app/wfdbdesc.c 2012-04-06 13:33:11.000000000 -0400 +++ wfdb-10.6.1/app/wfdbdesc.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbmap.c wfdb-10.6.1/app/wfdbmap.c --- wfdb-10.6.0/app/wfdbmap.c 2011-11-15 15:19:40.000000000 -0500 +++ wfdb-10.6.1/app/wfdbmap.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbsignals.c wfdb-10.6.1/app/wfdbsignals.c --- wfdb-10.6.0/app/wfdbsignals.c 2011-11-15 14:07:40.000000000 -0500 +++ wfdb-10.6.1/app/wfdbsignals.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbtime.c wfdb-10.6.1/app/wfdbtime.c --- wfdb-10.6.0/app/wfdbtime.c 2017-08-29 16:51:46.000000000 -0400 +++ wfdb-10.6.1/app/wfdbtime.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wfdbwhich.c wfdb-10.6.1/app/wfdbwhich.c --- wfdb-10.6.0/app/wfdbwhich.c 2000-01-30 04:13:17.000000000 -0500 +++ wfdb-10.6.1/app/wfdbwhich.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wqrs.c wfdb-10.6.1/app/wqrs.c --- wfdb-10.6.0/app/wqrs.c 2010-04-09 13:54:05.000000000 -0400 +++ wfdb-10.6.1/app/wqrs.c 2018-11-28 16:52:35.000000000 -0500 @@ -14,8 +14,7 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . You may contact the author by e-mail (wzong@mit.edu) or postal mail (MIT Room E25-505, Cambridge, MA 02139, USA). For updates to this software, diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wrann.c wfdb-10.6.1/app/wrann.c --- wfdb-10.6.0/app/wrann.c 2010-07-27 14:06:58.000000000 -0400 +++ wfdb-10.6.1/app/wrann.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/wrsamp.c wfdb-10.6.1/app/wrsamp.c --- wfdb-10.6.0/app/wrsamp.c 2014-02-27 17:32:24.000000000 -0500 +++ wfdb-10.6.1/app/wrsamp.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/app/xform.c wfdb-10.6.1/app/xform.c --- wfdb-10.6.0/app/xform.c 2018-01-23 18:16:22.000000000 -0500 +++ wfdb-10.6.1/app/xform.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: xform.c G. Moody 8 December 1983 - Last revised: 9 January 2018 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- xform: Sampling frequency, amplitude, and format conversion for WFDB records Copyright (C) 1983-2010 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -27,6 +26,7 @@ #include #include #include +#include /* The following definition yields dither with a triangular PDF in (-1,1). */ #define DITHER (((double)rand() + (double)rand())/RAND_MAX - 1.0) @@ -223,10 +223,6 @@ value, quit (isigopen will have emitted an error message). */ if ((nisig = isigopen(irec, NULL, 0)) < 0) exit(2); - /* Determine the input sampling frequency. */ - ifreq = sampfreq(NULL); - (void)setsampfreq(0.); - /* If the input record contains no signals, we won't write any -- but we might still read and write annotations. */ if (nisig == 0) nosig = 0; @@ -292,9 +288,13 @@ } } - if (Hflag) + /* Determine the input sampling frequency. */ + if (Mflag) + setgvmode(WFDB_LOWRES); + else if (Hflag) setgvmode(WFDB_HIGHRES); - ifreq *= spf = getspf(); + ifreq = sampfreq(NULL); + spf = getspf(); if (Mflag) { for (i = iframelen = 0; i < nisig; i++) @@ -546,6 +546,28 @@ } spm = strtim("1:0"); + if (Mflag) { + /* In multifrequency mode, the preceding calculations are + performed in low-resolution mode (so that 'from' and 'to' + are rounded to the nearest frame number, and 'nsamp' is the + number of frames to copy.) For annotation processing, + switch to high-resolution mode, convert 'from' and 'to' + into high-resolution sample numbers, and set the output + annotation resolution accordingly. */ + setgvmode(WFDB_HIGHRES); + spf = getspf(); + from *= spf; + to *= spf; + setafreq(ofreq * spf); + } + else { + /* For a single-frequency record, the time resolution for + output annotations is equal to the output frame frequency + (ofreq), so we do not need an explicit time resolution. If + a default time resolution is set by isigopen, remove it. */ + setafreq(0.0); + } + /* Process the annotation file(s), if any. */ if (nann > 0) { char *p0, *p1; @@ -553,7 +575,7 @@ long tt; /* Check that the input annotation files are readable. */ - if (annopen(irec, ai, (unsigned)nann) < 0 || iannsettime(from) < 0) + if (annopen(irec, ai, (unsigned)nann) < 0 || iannsettime(from) < -1) exit(2); /* Associate the output annotation files with the new record, if a @@ -579,7 +601,11 @@ cc = -129; while (getann((unsigned)i, &annot) == 0 && (to == 0L || annot.time <= to)) { - annot.time = (annot.time - from) * (ofreq*spf) / ifreq; + if (annot.time == 0 && annot.subtyp == 0 && + annot.chan == 0 && annot.num == 0 && + (annot.anntyp == NOTQRS || annot.anntyp == NOTE)) + continue; + annot.time = (annot.time - from) * ofreq / ifreq; /* If the -u option was specified, make sure that the corrected annotation time is positive and that it is later than the previous annotation time (exception: if it matches the diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/Makefile.top wfdb-10.6.1/checkpkg/Makefile.top --- wfdb-10.6.0/checkpkg/Makefile.top 2001-09-07 11:35:58.000000000 -0400 +++ wfdb-10.6.1/checkpkg/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -16,10 +16,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/Makefile.tpl wfdb-10.6.1/checkpkg/Makefile.tpl --- wfdb-10.6.0/checkpkg/Makefile.tpl 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/checkpkg/Makefile.tpl 2018-05-09 12:29:11.000000000 -0400 @@ -1,6 +1,6 @@ all: @rm -f lcheck - @make lcheck + @$(MAKE) lcheck -@./libcheck $(DESTDIR)$(DBDIR) $(DESTDIR)$(LIBDIR) >libcheck.out @./appcheck $(DESTDIR)$(INCDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(PSPDIR) @echo diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/appcheck wfdb-10.6.1/checkpkg/appcheck --- wfdb-10.6.0/checkpkg/appcheck 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/checkpkg/appcheck 2018-11-28 16:55:57.000000000 -0500 @@ -1,13 +1,13 @@ #!/bin/sh # file: appcheck G. Moody 7 September 2001 -# Last revised: 8 March 2017 +# Last revised: 17 May 2018 # # This script checks the basic functionality of most of the WFDB applications # in the 'app' directory. These programs are not (yet) tested by this script: # calsig, epicmp, mxm, nst, plotstm, pscgen, skewedit, sqrs125 # # Suggestions for additional checks are welcome; please send them to the -# author (george@mit.edu). +# author (wfdb@physionet.org). cp -pr ../data . @@ -54,7 +54,7 @@ echo Testing wfdbwhich ... F=wfdbwhich.out -wfdbwhich 100s.atr >$F 2>&1 +$BINDIR/wfdbwhich 100s.atr >$F 2>&1 if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -66,7 +66,7 @@ echo Testing wfdbcat ... F=wfdbcat.out -wfdbcat 100s.atr >$F 2>&1 +$BINDIR/wfdbcat 100s.atr >$F 2>&1 if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -78,7 +78,7 @@ echo Testing rdann ... F=rdann.out -rdann -r 100s -a atr >$F +$BINDIR/rdann -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -92,7 +92,7 @@ echo Testing wrann ... F=100s.wra -wrann -r 100s -a wra $F +$BINDIR/rdsamp -r 100s -f 10 -t 11 -p -v >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -119,7 +119,7 @@ echo Testing wrsamp ... F=100w.dat -wrsamp -o 100w -F 360 -O 212 -x 200 1 2 $F +$BINDIR/ann2rr -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -155,7 +155,7 @@ echo Testing rr2ann ... F=100s.a2r -rr2ann -r 100s -a a2r sqrs.log +$BINDIR/sqrs -r 100s 2>sqrs.log if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -183,7 +183,7 @@ echo Testing ecgeval ... F=ecgeval.out rm -f qrs-mit.bat qrs-mit.out -ecgeval $F 2>&1 +$BINDIR/ecgeval $F 2>&1 grep -v file: qrs-mit.bat >>$F grep -v file: qrs-mit.out >>$F if ( ./checkfile $F ) @@ -198,7 +198,7 @@ echo Testing bxb ... F=bxb.out E=bxb.err -bxb -r 100s -a atr ann -f 0 >$F 2>$E +$BINDIR/bxb -r 100s -a atr ann -f 0 >$F 2>$E if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -218,7 +218,7 @@ echo Testing rxr ... F=rxr.out E=rxr.err -rxr -r 100s -a atr ann -f 0 >$F 2>$E +$BINDIR/rxr -r 100s -a atr ann -f 0 >$F 2>$E if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -237,7 +237,7 @@ rm 100s.ann echo Testing fir ... -fir -i 100s -n fir -f 10 -t 15 -c -1 1 +$BINDIR/fir -i 100s -n fir -f 10 -t 15 -c -1 1 for F in fir.dat fir.hea do if ( ./checkfile $F ) @@ -252,7 +252,7 @@ echo Testing ihr ... F=ihr.out -ihr -r 100s -a atr >$F +$BINDIR/ihr -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -263,7 +263,7 @@ TESTS=`expr $TESTS + 1` echo Testing mfilt ... -mfilt -l 5 -i 100s -n mfilt -f 10 -t 15 2>mfilt.log +$BINDIR/mfilt -l 5 -i 100s -n mfilt -f 10 -t 15 2>mfilt.log for F in mfilt.dat mfilt.hea do if ( ./checkfile $F ) @@ -279,7 +279,7 @@ echo Testing mrgann ... F=100s.mrg cp expected/100s.qrs expected/100s.wqrs . -mrgann -r 100s -i qrs wqrs -o mrg -m0 10 -m1 20 -m2 30 -m3 40 +$BINDIR/mrgann -r 100s -i qrs wqrs -o mrg -m0 10 -m1 20 -m2 30 -m3 40 if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -291,7 +291,7 @@ echo Testing nguess ... F=100a.nguess -nguess -r 100a -a atr +$BINDIR/nguess -r 100a -a atr if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -303,7 +303,7 @@ echo Testing pschart ... F=pschart.ps -pschart -a atr -c "" -g -l -T Test - >$F <$F <$F <$F <$F +$BINDIR/sampfreq 100s >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -343,7 +343,7 @@ echo Testing sigamp ... F=sigamp.out -sigamp -r 100s -a atr >$F +$BINDIR/sigamp -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -355,7 +355,7 @@ echo Testing sigavg ... F=100s.sigavg -sigavg -r 100s -a atr -v>$F +$BINDIR/sigavg -r 100s -a atr -v>$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -366,7 +366,7 @@ TESTS=`expr $TESTS + 1` echo Testing snip ... -snip -i 100s -n snip -a atr -f 10 -t 15 +$BINDIR/snip -i 100s -n snip -a atr -f 10 -t 15 for F in snip.atr snip.dat snip.hea do if ( ./checkfile $F ) @@ -380,12 +380,12 @@ done echo Testing sortann ... -rdann -r 100s -a atr -f 30 >foo -rdann -r 100s -a atr -t 30 >>foo +$BINDIR/rdann -r 100s -a atr -f 30 >foo +$BINDIR/rdann -r 100s -a atr -t 30 >>foo ( WFDBANNSORT=0; export WFDBANNSORT; \ - wrann -r 100s -a mix wrann.log ) + $BINDIR/wrann -r 100s -a mix wrann.log ) rm -f foo -sortann -r 100s -a mix +$BINDIR/sortann -r 100s -a mix F=100s.mix if ( ./checkfile $F ) then @@ -398,7 +398,7 @@ echo Testing sumann ... F=sumann.out -sumann -r 100s -a atr >$F +$BINDIR/sumann -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -410,7 +410,7 @@ echo Testing sumstats ... F=sumstats.out -sumstats input/sumstats >$F +$BINDIR/sumstats input/sumstats >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -422,7 +422,7 @@ echo Testing tach ... F=tach.out -tach -r 100s -a atr >$F +$BINDIR/tach -r 100s -a atr >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -433,7 +433,7 @@ TESTS=`expr $TESTS + 1` echo Testing wfdbcollate ... -wfdbcollate -s 100s -o wfd -l 30 2>wfdbcollate.log +$BINDIR/wfdbcollate -s 100s -o wfd -l 30 2>wfdbcollate.log for F in wfd*hea wfd*dat do if ( ./checkfile $F ) @@ -448,7 +448,7 @@ echo Testing wfdbdesc ... F=wfdbdesc.out -wfdbdesc 100s >$F +$BINDIR/wfdbdesc 100s >$F if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -461,7 +461,7 @@ echo Testing wabp ... F=xform.wabp cp expected/xform.hea expected/xform.dat . -wabp -r xform 2>wabp.log +$BINDIR/wabp -r xform 2>wabp.log if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -473,7 +473,7 @@ echo Testing wqrs ... F=100s.wqrs -wqrs -r 100s -j 2>wqrs.log +$BINDIR/wqrs -r 100s -j 2>wqrs.log if ( ./checkfile $F ) then PASS=`expr $PASS + 1` @@ -484,7 +484,7 @@ TESTS=`expr $TESTS + 1` echo Testing parsescp ... -parsescp -o test -w xform-1.out 2>&1 +$BINDIR/xform -i 100s -a atr -n 100x -o input/100x >xform-1.out 2>&1 for F in xform-1.out 100x.atr 100x.dat 100x.hea do if ( ./checkfile $F ) @@ -514,7 +514,7 @@ if ( grep "WFDB_NETFILES 1" $INCDIR/wfdb/wfdb.h >grep.out 2>&1 ) then echo "Testing xform (with NETFILES) ..." - xform -i mimicdb/237/237 -s 1 2 0 3 -a all -M -n xform -f 9:19:45 \ + $BINDIR/xform -i mimicdb/237/237 -s 1 2 0 3 -a all -M -n xform -f 9:19:45 \ -t "[22:01:23 20/07/1995]" -S input/xform >xform-2.out 2>&1 for F in xform-2.out xform.hea xform.dat xform.all do diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/expected/ecgeval.out wfdb-10.6.1/checkpkg/expected/ecgeval.out --- wfdb-10.6.0/checkpkg/expected/ecgeval.out 2013-11-19 12:36:26.000000000 -0500 +++ wfdb-10.6.1/checkpkg/expected/ecgeval.out 2018-11-28 16:56:51.000000000 -0500 @@ -4,11 +4,11 @@ The most recent version of this program can always be obtained as part of the WFDB Software Package, from PhysioNet (http://physionet.org/). -If you have questions about this software, please contact the author: - George B. Moody +If you have questions about this software, please contact: + PhysioNet MIT Room E25-505A Cambridge, MA 02139 USA - email: george@mit.edu + email: wfdb@physionet.org This program constructs a script (batch) file which evaluates a set of test annotation files by comparing them with reference annotation files diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/expected/xform.all wfdb-10.6.1/checkpkg/expected/xform.all --- wfdb-10.6.0/checkpkg/expected/xform.all 2001-08-15 15:44:32.000000000 -0400 +++ wfdb-10.6.1/checkpkg/expected/xform.all 2018-03-22 17:00:46.000000000 -0400 @@ -1 +1 @@ -ìXüALARM: ** MULTIFORM VPBs €XüALARM: ** RUN VPBs > 2 \ No newline at end of file +Xü## time resolution: 500ìÿÿÿÿì\XXüALARM: ** MULTIFORM VPBs ZüALARM: ** RUN VPBs > 2 \ No newline at end of file diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/lcheck.c wfdb-10.6.1/checkpkg/lcheck.c --- wfdb-10.6.0/checkpkg/lcheck.c 2017-08-29 16:07:15.000000000 -0400 +++ wfdb-10.6.1/checkpkg/lcheck.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/checkpkg/libcheck wfdb-10.6.1/checkpkg/libcheck --- wfdb-10.6.0/checkpkg/libcheck 2017-10-24 17:00:20.000000000 -0400 +++ wfdb-10.6.1/checkpkg/libcheck 2018-11-28 16:55:57.000000000 -0500 @@ -13,7 +13,7 @@ # directory. # # Suggestions for additional checks are welcome; please send them to the -# author (george@mit.edu). +# author (wfdb@physionet.org). cp -pr ../data . diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/cygwin-slib.def wfdb-10.6.1/conf/cygwin-slib.def --- wfdb-10.6.0/conf/cygwin-slib.def 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/conf/cygwin-slib.def 2018-05-09 12:24:23.000000000 -0400 @@ -1,5 +1,5 @@ # file: cygwin-slib.def I. Henry and G. Moody 19 November 2002 -# Last revised: 8 March 2017 +# Last revised: 9 May 2018 # This section contains settings suitable for generating a DLL (shared library) # under MS Windows using the free Cygwin/gcc ANSI C compiler, available from @@ -139,7 +139,7 @@ cp -p /usr/bin/cygz.dll $(DESTDIR)$(BINDIR) ) cp $(WFDBLIB_DLLNAME) $(DESTDIR)$(BINDIR) cd $(DESTDIR)$(BINDIR); $(SETLPERMISSIONS) *.dll - test $(BINDIR) = $(LIBDIR) && \ + test $(BINDIR) != $(LIBDIR) || \ ( mkdir $(DESTDIR)$(WFDBROOT)/lib; \ ln -sf $(BINDIR)/$(WFDBLIB_BASENAME) $(DESTDIR)$(WFDBROOT)/lib ) diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/generic-slib.def wfdb-10.6.1/conf/generic-slib.def --- wfdb-10.6.0/conf/generic-slib.def 2018-01-25 17:51:48.000000000 -0500 +++ wfdb-10.6.1/conf/generic-slib.def 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ # file: generic-slib.def G. Moody 31 May 2000 -# Last revised: 25 January 2018 +# Last revised: 9 May 2018 # This section contains settings suitable for compiling a shared version of the # WFDB library under versions of UNIX that are not otherwise recognized by # 'configure'. Not all versions of UNIX support shared libraries, so you may @@ -7,7 +7,7 @@ # # If you find that changes are needed in order to compile successfully, please # send a copy of your modifications together with the name of your operating -# system (as reported by the 'uname' command) to george@mit.edu, so that +# system (as reported by the 'uname' command) to wfdb@physionet.org, so that # support for your operating system can be incorporated in future versions of # this package. Thanks! @@ -155,6 +155,8 @@ # libraries, uncomment the next line. # LDCONFIG = : +.POSIX: # enable POSIX compliance mode for some versions of 'make' + # `make' (with no target specified) will be equivalent to `make all'. make-all: all diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/generic.def wfdb-10.6.1/conf/generic.def --- wfdb-10.6.0/conf/generic.def 2018-01-25 17:49:49.000000000 -0500 +++ wfdb-10.6.1/conf/generic.def 2018-11-28 16:55:57.000000000 -0500 @@ -1,12 +1,12 @@ # file: generic.def G. Moody 31 May 2000 -# Last revised: 25 January 2018 +# Last revised: 17 May 2018 # This file contains default 'make' definitions for compiling the WFDB Software # Package under versions of UNIX that are not otherwise recognized by # 'configure'. # # If you find that changes are needed in order to compile successfully, please # send a copy of your modifications together with the name of your operating -# system (as reported by the 'uname' command) to george@mit.edu, so that +# system (as reported by the 'uname' command) to wfdb@physionet.org, so that # support for your operating system can be incorporated in future versions of # this package. Thanks! @@ -110,8 +110,6 @@ # -O if you trust your C compiler's optimizer # With the exception of `gcc', most C compilers do not allow you to use -g and # -O simultaneously. -# CFLAGS = -g $(CCDEFS) $(LC) -I$(INCDIR) -# `gcc' users may comment out the previous line, and uncomment the next one. CFLAGS = $(MFLAGS) -g -O $(CCDEFS) $(LC) -I$(DESTDIR)$(INCDIR) # RPATHFLAGS is a set of C compiler options that cause the program to @@ -215,6 +213,8 @@ WLDFLAGS = $(LDFLAGS) -L$(OWLIBDIR) -L$(XLIBDIR) -lxview -lolgx -lX11 # ........................................................................... +.POSIX: # enable POSIX compliance mode for some versions of 'make' + # `make' (with no target specified) will be equivalent to `make all'. make-all: all diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/hpux.def wfdb-10.6.1/conf/hpux.def --- wfdb-10.6.0/conf/hpux.def 2018-01-25 17:46:52.000000000 -0500 +++ wfdb-10.6.1/conf/hpux.def 2018-05-17 15:41:25.000000000 -0400 @@ -1,5 +1,5 @@ # file: hpux.def G. Moody 31 May 2000 -# Last revised: 25 January 2018 +# Last revised: 17 May 2018 # 'make' definitions for compiling the WFDB library under HP-UX # Choose a value for WFDBROOT to determine where the WFDB Software Package will @@ -85,8 +85,6 @@ # -O if you trust your C compiler's optimizer # With the exception of `gcc', most C compilers do not allow you to use -g and # -O simultaneously. -# CFLAGS = -g $(CCDEFS) $(LC) -I$(INCDIR) -# `gcc' users may comment out the previous line, and uncomment the next one. CFLAGS = $(MFLAGS) -g -O $(CCDEFS) $(LC) -I$(DESTDIR)$(INCDIR) # RPATHFLAGS is a set of C compiler options that cause the program to diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/solaris-slib.def wfdb-10.6.1/conf/solaris-slib.def --- wfdb-10.6.0/conf/solaris-slib.def 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/conf/solaris-slib.def 2018-05-09 13:15:50.000000000 -0400 @@ -1,5 +1,5 @@ # file: solaris-slib.def G. Moody 31 May 2000 -# Last revised: 8 March 2017 +# Last revised: 9 May 2018 # This section contains settings suitable for generating a shared library under # Solaris. @@ -123,12 +123,14 @@ # programs linked to it. SETLPERMISSIONS = chmod 644 +.POSIX: # enable POSIX compliance mode + # `make' (with no target specified) will be equivalent to `make all'. make-all: all # `make lib-post-install' should be run after installing the WFDB library. lib-post-install: - cd $(DESTDIR)$(LIBDIR); rm $(WFDBLIB_BASENAME) $(WFDBLIB_SONAME); \ + cd $(DESTDIR)$(LIBDIR); rm -f $(WFDBLIB_BASENAME) $(WFDBLIB_SONAME); \ ln -s $(WFDBLIB) $(WFDBLIB_BASENAME); \ ln -s $(WFDBLIB) $(WFDBLIB_SONAME) diff -Naur '--exclude=Makefile' wfdb-10.6.0/conf/solaris.def wfdb-10.6.1/conf/solaris.def --- wfdb-10.6.0/conf/solaris.def 2017-03-09 18:13:18.000000000 -0500 +++ wfdb-10.6.1/conf/solaris.def 2018-05-17 15:41:08.000000000 -0400 @@ -1,5 +1,5 @@ # file: solaris.def G. Moody 31 May 2000 -# Last revised: 8 March 2017 +# Last revised: 17 May 2018 # 'make' definitions for compiling the WFDB Software Package under Solaris # Choose a value for WFDBROOT to determine where the WFDB Software Package will @@ -79,8 +79,6 @@ # CFLAGS is the set of C compiler options. CFLAGS should always include # CCDEFS. With the exception of `gcc', most C compilers do not allow you to # use -g and -O simultaneously. MFLAGS is gcc-specific. -# CFLAGS = -O $(CCDEFS) $(LC) -I$(INCDIR) -# `gcc' users may comment out the previous line, and uncomment the next one. CFLAGS = $(MFLAGS) -g -O $(CCDEFS) $(LC) -I$(DESTDIR)$(INCDIR) # RPATHFLAGS is a set of C compiler options that cause the program to @@ -171,6 +169,8 @@ WLDFLAGS = $(LDFLAGS) -L$(OWLIBDIR) -L$(XLIBDIR) -lxview -lolgx -lX11 # ........................................................................... +.POSIX: # enable POSIX compliance mode + # `make' (with no target specified) will be equivalent to `make all'. make-all: all diff -Naur '--exclude=Makefile' wfdb-10.6.0/configure wfdb-10.6.1/configure --- wfdb-10.6.0/configure 2018-01-25 18:16:19.000000000 -0500 +++ wfdb-10.6.1/configure 2018-11-28 16:55:57.000000000 -0500 @@ -1,11 +1,11 @@ #! /bin/sh # file: configure G. Moody 24 May 2000 -# Last revised: 25 January 2018 +# Last revised: 28 November 2018 # Configuration script for the WFDB Software Package # This script was not generated using 'autoconf'. If you can implement # autoconf input files for a 'configure' that does what this one does, -# please send them to me (george@mit.edu) for inclusion in a future +# please send them to wfdb@physionet.org for inclusion in a future # version of this package. # Note that any -m options (although parsed below) are currently ignored, @@ -20,6 +20,7 @@ LIBDIR=unknown HOST= MFLAGS= +ARCHLIST= NETLIB=unknown WAVE=unknown @@ -43,6 +44,8 @@ else MFLAGS="$MFLAGS $i" fi ;; + --enable-arch=*) a=`echo $i | sed 's/[-a-zA-Z0-9]*=//' | tr , ' '` + ARCHLIST="$ARCHLIST $a" ;; --host=*) HOST=`echo $i | sed 's/[-a-zA-Z0-9]*=//'` ;; --mandir=*) MANDIR=`echo $i | sed 's/[-a-zA-Z0-9]*=//'` ;; --prefix=*) DIR=`echo $i | sed 's/[-a-zA-Z0-9]*=//'` ;; @@ -83,7 +86,7 @@ --without-xview disable WAVE even if XView is available --with-xview=PREFIX use XView libraries and headers installed in PREFIX EOF - exit ;; + exit 1 ;; esac done @@ -161,7 +164,7 @@ if [ -d ../.git ] then ./prompt "Checking the package version number ..." - VERSION=`git --git-dir=../.git describe --dirty 2>gitver.t1` + VERSION=`cd ..; git --git-dir=.git describe --dirty 2>conf/gitver.t1` rm -f gitver.t1 if [ "x$VERSION" = "x" ] then @@ -198,9 +201,24 @@ echo >>site.def echo "PACKAGE = $PACKAGE" >>site.def echo "SRCDIR = \"$SRCDIR\"" >>site.def -echo LONGDATE = `date '+%e %B %Y'` >>site.def -echo SHORTDATE = `date '+%B %Y' | tr a-z A-Z` >>site.def -echo YEAR = `date '+%Y'` >>site.def + +if [ "x$SOURCE_DATE_EPOCH" = "x" ] +then + date=date +else + if date -d @0 >date.t1 2>date.t1 + then + date="date -u -d @$SOURCE_DATE_EPOCH" + else + date="date -u -r $SOURCE_DATE_EPOCH" + fi + bd=`$date '+"%b %e %Y"'` + echo "BUILD_DATE_FLAGS = -DWFDB_BUILD_DATE='$bd'" >>site.def + rm -f date.t1 +fi +echo LONGDATE = `$date "+%e %B %Y"` >>site.def +echo SHORTDATE = `$date "+%B %Y" | tr a-z A-Z` >>site.def +echo YEAR = `$date "+%Y"` >>site.def echo "ARCH = $ARCH" >>site.def if [ "x$HOST" = "x" ] @@ -261,14 +279,19 @@ sed 's/NOCYGWIN/-mno-cygwin/' mingw.def >>site.def ;; Darwin) echo "It is normal for Mac OS X to be recognized as Darwin." - case $MACHINE in - x86_64) LMFLAGS="$MFLAGS -arch i386 -arch x86_64" - WMFLAGS="$MFLAGS -arch i386" ;; - i386) LMFLAGS="$MFLAGS -arch i386" - WMFLAGS="$MFLAGS -arch i386" ;; - *) LMFLAGS="$MFLAGS" - WMFLAGS="$MFLAGS" ;; - esac + LMFLAGS=$MFLAGS + WMFLAGS=$MFLAGS + for a in $ARCHLIST + do + LMFLAGS="$LMFLAGS -arch $a" + case $a in + i386|ppc) WMFLAGS="$WMFLAGS -arch $a" ;; + esac + done + if [ $WAVE = unknown ] && [ "x$WMFLAGS" = "x$MFLAGS" ] + then + WAVE=0 + fi cat site.def darwin-slib.def | \ sed "s+^MFLAGS =+MFLAGS = $LMFLAGS+" >site-slib.def cat darwin.def | \ @@ -365,19 +388,21 @@ echo "install one, be sure that it is in your PATH, and that it is" echo "accessible as either '${CROSS_COMPILE}cc' or '${CROSS_COMPILE}gcc', then run ./configure again." cd .. - exit + exit 1 else CC=${CROSS_COMPILE}cc + wflags= fi else CC=${CROSS_COMPILE}gcc + wflags="-Wno-implicit -Wformat " fi echo "$CC" sed "s|CC = gcc|CC = $CC|" site.tmp -mv site.tmp site.def +sed "s|^CFLAGS = |CFLAGS = $wflags|" site.def sed "s|CC = gcc|CC = $CC|" site.tmp -mv site.tmp site-slib.def -rm -f wcc.t1 wcc.t2 +sed "s|^CFLAGS = |CFLAGS = $wflags|" site-slib.def +rm -f wcc.t1 wcc.t2 site.tmp ./prompt "Looking for the command to strip debugging metadata ..." WSTRIP=`which ${CROSS_COMPILE}strip 2>&1` @@ -705,7 +730,7 @@ these files. Please send reports of success or failure, together with the output of the command 'uname -a', and copies of any files you have changed, to: - george@mit.edu + wfdb@physionet.org EOF fi diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/Makefile.top wfdb-10.6.1/convert/Makefile.top --- wfdb-10.6.0/convert/Makefile.top 2000-05-24 22:35:27.000000000 -0400 +++ wfdb-10.6.1/convert/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/README wfdb-10.6.1/convert/README --- wfdb-10.6.0/convert/README 2009-03-14 15:23:06.000000000 -0400 +++ wfdb-10.6.1/convert/README 2018-11-28 16:55:57.000000000 -0500 @@ -73,7 +73,7 @@ Contributions to this set of format converters are welcome. If you have written a format converter, please send it together with a short input file and -the output generated from the input to george@mit.edu. (Don't omit the +the output generated from the input to wfdb@physionet.org. (Don't omit the output; I need to see that I can compile your converter and generate the same output that you do.) diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/a2m.c wfdb-10.6.1/convert/a2m.c --- wfdb-10.6.0/convert/a2m.c 2010-07-27 14:10:16.000000000 -0400 +++ wfdb-10.6.1/convert/a2m.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/ad2m.c wfdb-10.6.1/convert/ad2m.c --- wfdb-10.6.0/convert/ad2m.c 2007-12-20 09:51:20.000000000 -0500 +++ wfdb-10.6.1/convert/ad2m.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/edf2mit.c wfdb-10.6.1/convert/edf2mit.c --- wfdb-10.6.0/convert/edf2mit.c 2008-11-18 11:49:21.000000000 -0500 +++ wfdb-10.6.1/convert/edf2mit.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/m2a.c wfdb-10.6.1/convert/m2a.c --- wfdb-10.6.0/convert/m2a.c 2001-04-26 12:46:06.000000000 -0400 +++ wfdb-10.6.1/convert/m2a.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/makeid.c wfdb-10.6.1/convert/makeid.c --- wfdb-10.6.0/convert/makeid.c 2003-06-05 23:00:00.000000000 -0400 +++ wfdb-10.6.1/convert/makeid.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/md2a.c wfdb-10.6.1/convert/md2a.c --- wfdb-10.6.0/convert/md2a.c 2001-04-26 12:46:10.000000000 -0400 +++ wfdb-10.6.1/convert/md2a.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/mit2edf.c wfdb-10.6.1/convert/mit2edf.c --- wfdb-10.6.0/convert/mit2edf.c 2014-03-12 09:32:56.000000000 -0400 +++ wfdb-10.6.1/convert/mit2edf.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/mit2wav.c wfdb-10.6.1/convert/mit2wav.c --- wfdb-10.6.0/convert/mit2wav.c 2010-07-27 14:14:36.000000000 -0400 +++ wfdb-10.6.1/convert/mit2wav.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: mit2wav.c G. Moody 12 February 2003 - Last revised: 27 July 2010 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- mit2wav: Convert WFDB format signal file(s) to .wav format Copyright (C) 2003-2010 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -51,7 +50,7 @@ interest, and to convert this AM signal into a .wav file; on playback, an analog AM demodulator would then recover the original low-frequency signal of interest. If you successfully implement this solution, please - send details to the author (george@mit.edu). + send details to wfdb@physionet.org. If the output contains 2, 3, 4, or 6 signals, and you play it through a sound card with at least that many outputs, the association between the @@ -236,6 +235,7 @@ s[i].fname = ofname; s[i].group = 0; s[i].fmt = 16; + s[i].spf = 1; } /* Get information needed for the header and format chunks. */ @@ -288,6 +288,7 @@ } /* Write the new header file if requested. */ + setsampfreq(sampfreq(NULL)); if (nrec) (void)newheader(nrec); /* Clean up. */ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/parsescp.c wfdb-10.6.1/convert/parsescp.c --- wfdb-10.6.0/convert/parsescp.c 2017-12-11 15:55:32.000000000 -0500 +++ wfdb-10.6.1/convert/parsescp.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/rdedfann.c wfdb-10.6.1/convert/rdedfann.c --- wfdb-10.6.0/convert/rdedfann.c 2014-03-05 22:31:34.000000000 -0500 +++ wfdb-10.6.1/convert/rdedfann.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/readid.c wfdb-10.6.1/convert/readid.c --- wfdb-10.6.0/convert/readid.c 2005-06-09 08:35:15.000000000 -0400 +++ wfdb-10.6.1/convert/readid.c 2018-11-28 16:55:57.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/revise.c wfdb-10.6.1/convert/revise.c --- wfdb-10.6.0/convert/revise.c 2000-05-23 17:48:53.000000000 -0400 +++ wfdb-10.6.1/convert/revise.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: revise.c G. Moody 8 February 1991 - Last revised: 7 September 1999 + Last revised: 18 May 2018 ------------------------------------------------------------------------------- revise: Convert obsolete-format header files into new ones @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -27,6 +26,7 @@ #include #include +#include #ifndef __STDC__ extern double atof(); extern void exit(); @@ -37,28 +37,7 @@ #include #endif -/* netfile and WFDB_FILE definitions copied from ../lib/libwfdb.h */ -struct netfile { - char *url; - char *data; - int mode; - long base_addr; - long cont_len; - long pos; - long err; - int fd; -}; - -struct WFDB_FILE { - FILE *fp; - struct netfile *netfp; - int type; -}; - -typedef struct WFDB_FILE WFDB_FILE; - WFDB_FILE *iheader; -WFDB_FILE *wfdb_open(); WFDB_Siginfo si[WFDB_MAXSIG]; WFDB_Time nsamples; diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/wav2mit.c wfdb-10.6.1/convert/wav2mit.c --- wfdb-10.6.0/convert/wav2mit.c 2004-12-23 21:13:26.000000000 -0500 +++ wfdb-10.6.1/convert/wav2mit.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/convert/wfdb2mat.c wfdb-10.6.1/convert/wfdb2mat.c --- wfdb-10.6.0/convert/wfdb2mat.c 2018-01-23 18:59:01.000000000 -0500 +++ wfdb-10.6.1/convert/wfdb2mat.c 2018-11-28 16:55:57.000000000 -0500 @@ -1,5 +1,5 @@ /* file: wfdb2mat.c G. Moody 26 February 2009 - Last revised: 23 January 2018 + Last revised: 22 March 2018 ------------------------------------------------------------------------------- wfdb2mat: Convert (all or part of) a WFDB signal file to Matlab .mat format Copyright (C) 2009-2013 George B. Moody @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -450,6 +449,7 @@ } /* Create the new header file. */ + setsampfreq(freq); p = mstimstr(-from); if (p && *p == '[') setbasetime(p+1); diff -Naur '--exclude=Makefile' wfdb-10.6.0/data/Makefile.top wfdb-10.6.1/data/Makefile.top --- wfdb-10.6.0/data/Makefile.top 2000-05-31 05:45:09.000000000 -0400 +++ wfdb-10.6.1/data/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/Makefile.top wfdb-10.6.1/doc/Makefile.top --- wfdb-10.6.0/doc/Makefile.top 2002-06-01 14:51:43.000000000 -0400 +++ wfdb-10.6.1/doc/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/misc/index.ht0 wfdb-10.6.1/doc/misc/index.ht0 --- wfdb-10.6.0/doc/misc/index.ht0 2001-12-20 17:53:08.000000000 -0500 +++ wfdb-10.6.1/doc/misc/index.ht0 2018-11-28 16:55:57.000000000 -0500 @@ -38,5 +38,5 @@

-George B. Moody (george@mit.edu) +PhysioNet (wfdb@physionet.org)

diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/Makefile.top wfdb-10.6.1/doc/wag-src/Makefile.top --- wfdb-10.6.0/doc/wag-src/Makefile.top 2015-05-28 15:55:13.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/ecgeval.1 wfdb-10.6.1/doc/wag-src/ecgeval.1 --- wfdb-10.6.0/doc/wag-src/ecgeval.1 2014-03-12 16:00:59.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/ecgeval.1 2018-03-22 12:57:32.000000000 -0400 @@ -1,3 +1,4 @@ +'\" t .TH ECGEVAL 1 "22 November 2002" "WFDB 10.3.0" "WFDB Applications Guide" .SH NAME ecgeval \- generate and run ECG analyzer evaluation script diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/fixag.sed wfdb-10.6.1/doc/wag-src/fixag.sed --- wfdb-10.6.0/doc/wag-src/fixag.sed 2010-12-11 10:15:24.000000000 -0500 +++ wfdb-10.6.1/doc/wag-src/fixag.sed 2018-10-24 14:22:51.000000000 -0400 @@ -24,11 +24,11 @@ s+iconedit(1)+iconedit(1)+g s+ld(1)+ld(1)+g s+osigfopen(nsig)+osigfopen(nsig)+g -s+N (1)+N (1)+g -s+N (2)+N (2)+g -s+N (3)+N (3)+g -s+N (4)+N (4)+g -s+N (8)+N (8)+g +s+N (1)+N (1)+g +s+N (2)+N (2)+g +s+N (3)+N (3)+g +s+N (4)+N (4)+g +s+N (8)+N (8)+g s+osigfopen(nsig)+osigfopen(nsig)+g s+openwin(1)+openwin(1)+g s+plot(1)+plot(1)+g @@ -84,6 +84,7 @@ s+>Evaluating ECG Analyzers<+>Evaluating ECG Analyzers<+ s+>WFDB Programmer's Guide<+>WFDB Programmer's Guide<+ s+>WFDB Applications Guide<+>WFDB Applications Guide<+ +s+WFDB Applications Guide+WFDB Applications Guide+ s+>WAVE User's Guide<+>WAVE User's Guide<+ s+>plt Tutorial and Cookbook<+>plt Tutorial and Cookbook<+ s+Table of Contents+
Next: NEXTPAGE Up: WFDB Applications Guide Previous: PREVPAGEOn This Page
+ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/fixag.sh wfdb-10.6.1/doc/wag-src/fixag.sh --- wfdb-10.6.0/doc/wag-src/fixag.sh 2014-03-13 13:30:28.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/fixag.sh 2018-10-24 14:24:33.000000000 -0400 @@ -1,9 +1,11 @@ #! /bin/sh # file: fixag.sh G. Moody 10 April 1997 -# Last revised: 7 April 2003 +# Last revised: 24 October 2018 # # Post-process WFDB Applications Guide HTML files +set -e + URLPREFIX=http://www.physionet.org/physiotools/wag/ LONGDATE=$1 @@ -71,17 +73,26 @@ sed "s+PREVPAGE+$PREVT+" >tmp.$$ mv tmp.$$ $THISU -echo adding previous links in install.htm ... -sed "s+\"previous\"+\"previous\"+" +WFDB Applications Guide Previous: $THIST+" >tmp.$$ -mv tmp.$$ install.htm - -echo adding next links in innode5.htm ... -sed "s+\"next\"+\"next\"+" Up: Next: Evaluating ECG Analyzers Up: tmp.$$ -mv tmp.$$ innode5.htm - -echo adding previous links in eval.htm ... -sed "s+\"previous\"+\"previous\"+" +WFDB Applications Guide Previous: Other systems+" >tmp.$$ -mv tmp.$$ eval.htm +PREVT=$THIST +PREVU=$THISU +THIST="Installing the WFDB Software Package" +THISU=install.htm +NEXTT="Evaluating ECG Analyzers" +NEXTU=eval.htm + +echo adding previous/next links in $THISU ... +sed "s+]*\\)SRC=\"prev_g.png\">++" <$THISU | + sed "s+]*\\)SRC=\"next_g.png\">++" | + sed "s+Up: Next: $NEXTT Up: +WFDB Applications Guide Previous: $PREVT+" >tmp.$$ +mv tmp.$$ $THISU + +PREVT=$THIST +PREVU=$THISU +THIST=$NEXTT +THISU=$NEXTU + +echo adding previous links in $THISU ... +sed "s+]*\\)SRC=\"prev_g.png\">++" <$THISU | + sed "s+WFDB Applications Guide+WFDB Applications Guide Previous: $PREVT+" >tmp.$$ +mv tmp.$$ $THISU diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/intro.ht0 wfdb-10.6.1/doc/wag-src/intro.ht0 --- wfdb-10.6.0/doc/wag-src/intro.ht0 2014-03-13 13:59:56.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/intro.ht0 2018-11-28 16:55:57.000000000 -0500 @@ -160,7 +160,7 @@ Your comments on this guide, and on the software that it documents, are welcome. Please send them to:

-George B. Moody (george@mit.edu)

+PhysioNet (wfdb@physionet.org)

LONGDATE diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/nst.1 wfdb-10.6.1/doc/wag-src/nst.1 --- wfdb-10.6.0/doc/wag-src/nst.1 2014-03-12 16:00:58.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/nst.1 2018-03-22 12:57:32.000000000 -0400 @@ -1,3 +1,4 @@ +'\" t .TH NST 1 "22 November 2002" "WFDB 10.3.0" "WFDB Applications Guide" .SH NAME nst \- noise stress test for ECG analysis programs diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wag-src/wave.1 wfdb-10.6.1/doc/wag-src/wave.1 --- wfdb-10.6.0/doc/wag-src/wave.1 2017-08-15 13:58:25.000000000 -0400 +++ wfdb-10.6.1/doc/wag-src/wave.1 2018-03-22 12:57:32.000000000 -0400 @@ -1,3 +1,4 @@ +'\" t .TH WAVE 1 "28 October 2009" "WFDB 10.4.24" "WFDB Applications Guide" .SH NAME wave \- waveform analyzer, viewer, and editor diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wpg-src/Makefile.top wfdb-10.6.1/doc/wpg-src/Makefile.top --- wfdb-10.6.0/doc/wpg-src/Makefile.top 2001-12-20 16:05:55.000000000 -0500 +++ wfdb-10.6.1/doc/wpg-src/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wpg-src/ctotexi.c wfdb-10.6.1/doc/wpg-src/ctotexi.c --- wfdb-10.6.0/doc/wpg-src/ctotexi.c 2002-11-23 22:56:18.000000000 -0500 +++ wfdb-10.6.1/doc/wpg-src/ctotexi.c 2018-11-28 16:55:57.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wpg-src/fixpg.sh wfdb-10.6.1/doc/wpg-src/fixpg.sh --- wfdb-10.6.0/doc/wpg-src/fixpg.sh 2006-03-02 08:25:30.000000000 -0500 +++ wfdb-10.6.1/doc/wpg-src/fixpg.sh 2018-11-28 16:55:57.000000000 -0500 @@ -14,8 +14,8 @@ head -$L2 $1/$i cat >>$1/$i <

-George B. Moody - (george@mit.edu) +PhysioNet + (wfdb@physionet.org)
diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wpg-src/wpg.ht0 wfdb-10.6.1/doc/wpg-src/wpg.ht0 --- wfdb-10.6.0/doc/wpg-src/wpg.ht0 2014-03-13 14:12:11.000000000 -0400 +++ wfdb-10.6.1/doc/wpg-src/wpg.ht0 2018-11-28 16:55:57.000000000 -0500 @@ -82,6 +82,6 @@

-George B. Moody (george@mit.edu) +PhysioNet (wfdb@physionet.org)

LONGDATE diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wpg-src/wpg0.tex wfdb-10.6.1/doc/wpg-src/wpg0.tex --- wfdb-10.6.0/doc/wpg-src/wpg0.tex 2018-01-26 16:43:40.000000000 -0500 +++ wfdb-10.6.1/doc/wpg-src/wpg0.tex 2018-11-28 17:26:14.000000000 -0500 @@ -464,7 +464,7 @@ and suggestions are welcome. Please send them to: @display -George B. Moody <@email{george@@mit.edu}> +PhysioNet <@email{wfdb@@physionet.org}> MIT Room E25-505A Cambridge, MA 02139 USA @@ -1426,6 +1426,8 @@ Failure: unable to read header file (probably incorrect record name) @item @t{-2} Failure: incorrect header file format +@item @t{-3} +Failure: internal limits exceeded (all signal files closed) @end table @c @end group @@ -1526,6 +1528,11 @@ illustrate the use of @code{isigopen}; for example, @pxref{Example 5}. +If the overall set of open signals exceeds internal limits (for example, the +total number of samples per frame is greater than @code{INT_MAX}), +@code{isigopen} returns -3 and closes @emph{all} previously-opened input +signals. + If @var{nsig} is less than 0, @code{isigopen} fills in up to @ifnotinfo @minus{}@var{nsig} @@ -3872,13 +3879,13 @@ @item @t{ 0} Success @item @t{-1} -Failure: illegal sampling frequency specified (@var{freq} must not be +Failure: illegal frame frequency specified (@var{freq} must not be negative) @end table @c @end group @noindent -This function sets the sampling frequency used by the time-conversion +This function sets the frame frequency used by the time-conversion functions @ifnotinfo (@pxref{timstr and strtim, , @code{timstr} and @code{strtim}}). @@ -3893,6 +3900,12 @@ @ifinfo (@pxref{newheader}). @end ifinfo + +Note that despite the name of this function, the argument specifies the record +@emph{frame} frequency, not the @emph{sampling} frequency; the two are not +equivalent when reading or writing a multi-frequency record +(@pxref{Multi-Frequency Records}). + @xref{Example 8}, for an illustration of the use of @code{setsampfreq}. @c @group @@ -8648,7 +8661,7 @@ This section is a compendium of sources for databases and related materials that may be useful to readers of this guide. Please send any -corrections to the author (@email{george@@mit.edu}). +corrections to the author (@email{wfdb@@physionet.org}). @table @emph @cindex MIT DB @@ -8788,8 +8801,8 @@ @display Free Software Foundation -59 Temple Place - Suite 330 -Boston, MA 02111-1307 USA +51 Franklin Street, Fifth Floor +Boston, MA 02110-1301 USA email: @email{gnu@@gnu.org} WWW: @uref{http://www.gnu.org/} @@ -9111,6 +9124,60 @@ @unnumberedsec WFDB 10.6 +@unnumberedsubsec Changes in version 10.6.1 (28 November 2018) + +The internal function @code{edfparse()} will correctly calculate the ADC +resolution of EDF signals, and will correctly interpret a negative ``number of +data records'' (meaning that the length of the record was unknown at the time +the header was written.) + +@code{sample()} now returns @code{WFDB_INVALID_SAMPLE} if the requested sample +is not in the buffer and cannot be read (i.e., @code{isigsettime()} fails.) +@code{sample_valid()} returns 0 in this case. In previous versions of the +library, @code{sample()} would call @code{exit()} in this situation, forcing +the program to exit immediately. + +In some circumstances, @code{isigopen()} will now return -3; unlike a return +value of -1 or -2, this indicates that no new signals have been opened and all +previously-opened signals have been closed. + +The implementation of NETFILES has been optimized in several ways, to avoid +making unnecessary HTTP requests, and to avoid unnecessarily disconnecting from +and reconnecting to a remote server, especially when opening a remote file for +the first time. + +The library will now honor HTTP redirections. (Previously, the +@code{libwww}-based implementation would follow redirections properly, but the +@code{libcurl}-based implementation would not.) Up to five redirections will +be followed for a particular file, and (if range requests are used) the new URL +will be cached for up to five minutes. + +The internal function @code{readheader()} will correctly parse ``minimum +version'' requirements (denoted by @code{#wfdb} at the start of a header file.) + +The library will cope better with records that are incorrectly formatted or +partially unreadable: @code{getskewedframe()} will avoid crashing if a signal +file ends unexpectedly in a multi-segment record; @code{readheader()} will +reject segment names beginning with `+'; @code{isigopen()} will reject records +or segments where the total number of samples per frame, or the maximum signal +skew, is too large; @code{isgsetframe()} and @code{getskewedframe()} will treat +an unreadable segment as an error. + +Several bugs have been fixed in @code{isigopen()}. It will now correctly +handle the sitation where @code{nsig} is zero or negative, the record has +multiple segments, and the first segment header cannot be read or contains no +signals. It will correctly handle some situations where a record contains +three or more signal groups, and not all signals can be opened (for example, +when the first signal file contains more than @code{nsig} signals, but the +second and third signal files together contain @code{nsig} or fewer signals.) +When multiple records are opened at once (``+ mode''), it will correctly honor +the limit provided by the caller, and will not open more than @code{nsig} new +signals. + +The internal function @code{wfdb_fopen()} will treat any path containing +@code{://} as a possible URL, and will correctly handle non-URL paths that end +with @code{:} or @code{:/}. + @unnumberedsubsec Changes in version 10.6.0 (26 January 2018) The new functions @code{getiafreq()} and @code{setiafreq()} allow the diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wug-src/Makefile.top wfdb-10.6.1/doc/wug-src/Makefile.top --- wfdb-10.6.0/doc/wug-src/Makefile.top 2001-12-20 16:05:20.000000000 -0500 +++ wfdb-10.6.1/doc/wug-src/Makefile.top 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wug-src/wave/misc/wave.inf wfdb-10.6.1/doc/wug-src/wave/misc/wave.inf --- wfdb-10.6.0/doc/wug-src/wave/misc/wave.inf 2002-09-16 10:21:14.000000000 -0400 +++ wfdb-10.6.1/doc/wug-src/wave/misc/wave.inf 2018-11-28 16:55:57.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wug-src/wave/scripts/fixwug.sh wfdb-10.6.1/doc/wug-src/wave/scripts/fixwug.sh --- wfdb-10.6.0/doc/wug-src/wave/scripts/fixwug.sh 2002-08-04 11:07:51.000000000 -0400 +++ wfdb-10.6.1/doc/wug-src/wave/scripts/fixwug.sh 2018-10-24 14:26:40.000000000 -0400 @@ -1,8 +1,11 @@ #!/bin/sh # file: fixwug.sh G. Moody 24 June 2002 -# Last revised: 4 August 2002 +# Last revised: 24 October 2018 + +set -e cd $1 +rm -f wave-faq.htm wave-web.htm R=`grep -l "Frequently Asked Questions" *.htm` if [ "x$R" != "x" ]; then ln -s $R wave-faq.htm else echo "Can't find wave-faq.htm" diff -Naur '--exclude=Makefile' wfdb-10.6.0/doc/wug-src/wug0.tex wfdb-10.6.1/doc/wug-src/wug0.tex --- wfdb-10.6.0/doc/wug-src/wug0.tex 2017-08-15 14:01:28.000000000 -0400 +++ wfdb-10.6.1/doc/wug-src/wug0.tex 2018-11-28 16:55:58.000000000 -0500 @@ -71,7 +71,7 @@ \end{latexonly} \begin{quote} -George B. Moody\\ +PhysioNet\\ Massachusetts Institute of Technology\\ 77 Massachusetts Avenue, Room E25-505A\\ Cambridge, MA 02139\\ @@ -207,12 +207,12 @@ Your comments on this guide, and on \WAVE{}, are welcome. Please send them to: \begin{quote} -George B. Moody\\ +PhysioNet\\ MIT Room E25-505A\\ Cambridge, MA 02139\\ USA\\ \\ -(e-mail: {\tt george@mit.edu}) +(e-mail: {\tt wfdb@physionet.org}) \end{quote} \section*{Notes on the third edition} @@ -5107,8 +5107,8 @@ If your question is not on this list, and you think it should be, please send it to me -(\htmladdnormallink{{\tt george@mit.edu}} -{mailto:george@mit.edu})! +(\htmladdnormallink{{\tt wfdb@physionet.org}} +{mailto:wfdb@physionet.org})! \section{Hardware questions} diff -Naur '--exclude=Makefile' wfdb-10.6.0/examples/Makefile.top wfdb-10.6.1/examples/Makefile.top --- wfdb-10.6.0/examples/Makefile.top 2000-05-31 05:44:55.000000000 -0400 +++ wfdb-10.6.1/examples/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/examples/refhr.c wfdb-10.6.1/examples/refhr.c --- wfdb-10.6.0/examples/refhr.c 2000-01-30 04:13:19.000000000 -0500 +++ wfdb-10.6.1/examples/refhr.c 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/examples/stdev.c wfdb-10.6.1/examples/stdev.c --- wfdb-10.6.0/examples/stdev.c 2002-11-17 15:15:01.000000000 -0500 +++ wfdb-10.6.1/examples/stdev.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/fortran/Makefile.top wfdb-10.6.1/fortran/Makefile.top --- wfdb-10.6.0/fortran/Makefile.top 2006-02-24 01:19:25.000000000 -0500 +++ wfdb-10.6.1/fortran/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # ____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/fortran/README wfdb-10.6.1/fortran/README --- wfdb-10.6.0/fortran/README 2006-02-24 01:23:24.000000000 -0500 +++ wfdb-10.6.1/fortran/README 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ for more details. You should have received a copy of the GNU Library General Public License -along with these wrappers; if not, write to the Free Software Foundation, -Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with these wrappers; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). ______________________________________________________________________________ @@ -203,10 +202,10 @@ system you are using. I would also be grateful for contributions of a few more interesting example programs, especially if they exercise more features of the WFDB library. Your comments and suggestions are welcome. Please write -to the author: +to the authors: - George B. Moody + PhysioNet MIT Room E25-505A Cambridge, MA 02139 USA - george@mit.edu + wfdb@physionet.org diff -Naur '--exclude=Makefile' wfdb-10.6.0/fortran/example.f wfdb-10.6.1/fortran/example.f --- wfdb-10.6.0/fortran/example.f 2006-02-23 23:35:58.000000000 -0500 +++ wfdb-10.6.1/fortran/example.f 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ C details. C C You should have received a copy of the GNU General Public License along with -C this program; if not, write to the Free Software Foundation, Inc., 59 Temple -C Place - Suite 330, Boston, MA 02111-1307, USA. +C this program; if not, see . C -C You may contact the author by e-mail (george@mit.edu) or postal mail +C You may contact the author by e-mail (wfdb@physionet.org) or postal mail C (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, C please visit PhysioNet (http://www.physionet.org/). C _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/fortran/wfdbf.c wfdb-10.6.1/fortran/wfdbf.c --- wfdb-10.6.0/fortran/wfdbf.c 2017-12-07 14:10:30.000000000 -0500 +++ wfdb-10.6.1/fortran/wfdbf.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/Makefile.top wfdb-10.6.1/lib/Makefile.top --- wfdb-10.6.0/lib/Makefile.top 2006-02-23 15:59:15.000000000 -0500 +++ wfdb-10.6.1/lib/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU Library General Public License -# along with this library; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this library; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/Makefile.tpl wfdb-10.6.1/lib/Makefile.tpl --- wfdb-10.6.0/lib/Makefile.tpl 2017-10-24 17:55:32.000000000 -0400 +++ wfdb-10.6.1/lib/Makefile.tpl 2018-05-09 13:00:50.000000000 -0400 @@ -1,5 +1,5 @@ # file: Makefile.tpl G. Moody 24 May 2000 -# Last revised: 24 October 2017 +# Last revised: 9 May 2018 # This section of the Makefile should not need to be changed. INCLUDES = $(DESTDIR)$(INCDIR)/wfdb/wfdb.h \ @@ -80,4 +80,4 @@ lf='"$(LDFLAGS)"' ; \ lf=`echo "$$lf" | sed 's|$(DESTDIR)$(LIBDIR)|$(LIBDIR)|g'` ; \ $(CC) $(CFLAGS) -DVERSION='"$(VERSION)"' -DCFLAGS='"-I$(INCDIR)"' \ - -DLDFLAGS="$$lf" -c wfdbio.c + -DLDFLAGS="$$lf" $(BUILD_DATE_FLAGS) -c wfdbio.c diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/README wfdb-10.6.1/lib/README --- wfdb-10.6.0/lib/README 2005-06-08 17:20:56.000000000 -0400 +++ wfdb-10.6.1/lib/README 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/annot.c wfdb-10.6.1/lib/annot.c --- wfdb-10.6.0/lib/annot.c 2018-01-23 18:16:22.000000000 -0500 +++ wfdb-10.6.1/lib/annot.c 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/calib.c wfdb-10.6.1/lib/calib.c --- wfdb-10.6.0/lib/calib.c 2013-11-21 10:18:17.000000000 -0500 +++ wfdb-10.6.1/lib/calib.c 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/ecgcodes.h wfdb-10.6.1/lib/ecgcodes.h --- wfdb-10.6.0/lib/ecgcodes.h 2000-01-30 04:13:20.000000000 -0500 +++ wfdb-10.6.1/lib/ecgcodes.h 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/ecgmap.h wfdb-10.6.1/lib/ecgmap.h --- wfdb-10.6.0/lib/ecgmap.h 2000-01-30 04:13:20.000000000 -0500 +++ wfdb-10.6.1/lib/ecgmap.h 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/signal.c wfdb-10.6.1/lib/signal.c --- wfdb-10.6.0/lib/signal.c 2018-01-23 18:16:22.000000000 -0500 +++ wfdb-10.6.1/lib/signal.c 2018-11-28 16:55:58.000000000 -0500 @@ -1,5 +1,5 @@ /* file: signal.c G. Moody 13 April 1989 - Last revised: 8 January 2018 wfdblib 10.6.0 + Last revised: 28 November 2018 wfdblib 10.6.1 WFDB library functions for signals _______________________________________________________________________________ @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -522,14 +521,14 @@ return (nvsig); } -static int sigmap_init(void) +static int sigmap_init(int first_segment) { int i, j, k, kmax, s, ivmin, ivmax; double ovmin, ovmax; struct sigmapinfo *ps; /* is this the layout segment? if so, set up output side of map */ - if (in_msrec && ovec == NULL && isd[0]->info.nsamp == 0L) { + if (in_msrec && first_segment && isd[0]->info.nsamp == 0L) { need_sigmap = 1; /* The number of virtual signals is the number of signals defined @@ -618,11 +617,36 @@ } break; } + if (j > tspf) { + wfdb_error("sigmap_init: frame size too large in segment %s\n", + segp->recname); + return (-1); + } + } + + else if (in_msrec && !first_segment && framelen == 0) { + /* opening a new segment of a fixed-layout multisegment + record */ + if (nisig > nvsig) { + wfdb_error("sigmap_init: wrong number of signals in segment %s\n", + segp->recname); + return (-1); + } + for (i = 0; i < nisig; i++) { + if (isd[i]->info.spf != vsd[i]->info.spf) { + wfdb_error( + "sigmap_init: wrong spf for signal %d in segment %s\n", + i, segp->recname); + return (-1); + } + } } else { /* normal record, or multisegment record without a dummy header */ nvsig = nisig; + for (s = tspf = 0; s < nisig; s++) + tspf += isd[s]->info.spf; return (make_vsd()); } @@ -719,6 +743,7 @@ wfdb_fread(buf, 1, 8, ifile); /* number of frames (EDF blocks) */ buf[8] = '\0'; sscanf(buf, "%ld", &nframes); + if (nframes < 0) nframes = 0; nsamples = nframes; wfdb_fread(buf, 1, 8, ifile); /* data record duration (seconds) */ sscanf(buf, "%lf", &spr); @@ -798,7 +823,7 @@ 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++) + for (i = 0; adcrange > 0; i++) adcrange /= 2; hsd[s]->info.adcres = i; if (pmax[s] != pmin[s]) { @@ -816,7 +841,7 @@ for (s = 0; s < nsig; s++) wfdb_fread(buf, 1, 80, ifile); /* filtering information (ignored) */ - for (s = framelen = 0; s < nsig; s++) { + for (s = 0; s < nsig; s++) { int n; wfdb_fread(buf, 1, 8, ifile); /* samples per frame (EDF block) */ @@ -825,7 +850,6 @@ buf[i] = '\0'; sscanf(buf, "%d", &n); if ((hsd[s]->info.spf = n) > ispfmax) ispfmax = n; - framelen += n; } (void)wfdb_fclose(ifile); /* (don't bother reading nsig*32 bytes of free @@ -910,8 +934,9 @@ i = sscanf(linebuf+5, "%d.%d.%d", &major, &minor, &release); if ((i > 0 && major > WFDB_MAJOR) || - (i > 1 && minor > WFDB_MINOR) || - (i > 2 && release > WFDB_RELEASE)) { + (i > 1 && major == WFDB_MAJOR && minor > WFDB_MINOR) || + (i > 2 && major == WFDB_MAJOR && minor == WFDB_MINOR && + release > WFDB_RELEASE)) { wfdb_error("init: reading record %s requires WFDB library " "version %d.%d.%d or later\n" " (the most recent version is always available from http://physionet.org)\n", @@ -1068,6 +1093,14 @@ return (-2); } } while ((p = strtok(linebuf, sep)) == NULL || *p == '#'); + if (*p == '+') { + wfdb_error( + "init: `%s' is not a valid segment name in record %s\n", + p, record); + SFREE(segarray); + segments = 0; + return (-2); + } if (strlen(p) > WFDB_MAXRNL) { wfdb_error( "init: `%s' is too long for a segment name in record %s\n", @@ -1119,7 +1152,7 @@ int nobaseline; hs = hsd[s]; - if (s) hp = hsd[s-1]; + hp = (s ? hsd[s-1] : NULL); /* Get the first token (the signal file name) from the next non-empty, non-comment line. */ do { @@ -1298,6 +1331,7 @@ SFREE(isd); } maxisig = nisig = 0; + framelen = 0; if (igd) { while (maxigroup) @@ -1685,7 +1719,7 @@ tseg++; if (segp != tseg) { segp = tseg; - if (isigopen(segp->recname, NULL, (int)nvsig) < 0) { + if (isigopen(segp->recname, NULL, (int)nvsig) <= 0) { wfdb_error("isigsettime: can't open segment %s\n", segp->recname); return (-1); @@ -1878,10 +1912,10 @@ struct isdata *is; struct igdata *ig; WFDB_Group g; - WFDB_Sample v; + WFDB_Sample v, *vecstart = vector; WFDB_Signal s; - if ((stat = (int)nisig) == 0) return (0); + if ((stat = (int)nisig) == 0) return (nvsig > 0 ? -1 : 0); if (istime == 0L) { for (s = 0; s < nisig; s++) isd[s]->samp = isd[s]->info.initval; @@ -1978,7 +2012,7 @@ } else if (in_msrec && segp && segp < segend) { segp++; - if (isigopen(segp->recname, NULL, (int)nvsig) < 0) { + if (isigopen(segp->recname, NULL, (int)nvsig) <= 0) { wfdb_error("getvec: error opening segment %s\n", segp->recname); stat = -3; @@ -1986,7 +2020,7 @@ } else { istime = segp->samp0; - return (getskewedframe(vector)); + return (getskewedframe(vecstart)); } } else @@ -2060,7 +2094,8 @@ FINT isigopen(char *record, WFDB_Siginfo *siarray, int nsig) { - int navail, ngroups, nn; + int navail, nn, spflimit; + int first_segment = 0; struct hsdata *hs; struct isdata *is; struct igdata *ig; @@ -2081,11 +2116,14 @@ if ((navail = readheader(record)) <= 0) { if (navail == 0 && segments) { /* this is a multi-segment record */ in_msrec = 1; + first_segment = 1; /* Open the first segment to get signal information. */ if (segp && (navail = readheader(segp->recname)) >= 0) { if (msbtime == 0L) msbtime = btime; if (msbdate == (WFDB_Date)0) msbdate = bdate; } + if (nsig <= 0) + in_msrec = 0; } if (navail == 0 && nsig) wfdb_error("isigopen: record %s has no signals\n", record); @@ -2115,13 +2153,11 @@ nn = nisig + nsig; if (allocisig(nn) != nn) return (-1); /* failed, nisig is unchanged, allocisig emits error */ - else - nsig = nn; - nn = nigroup + hsd[nsig-nisig-1]->info.group + 1; + nn = nigroup + hsd[navail-1]->info.group + 1; + if (nn > nigroup + nsig) + nn = nigroup + nsig; if (allocigroup(nn) != nn) return (-1); /* failed, allocigroup emits error */ - else - ngroups = nn; /* Set default buffer size (if not set already by setibsize). */ if (ibsize <= 0) ibsize = BUFSIZ; @@ -2187,6 +2223,19 @@ wfdb_error("isigopen: none of the signals for record %s is readable\n", record); + /* Check that the total number of samples per frame is less than + or equal to INT_MAX. */ + spflimit = INT_MAX - framelen; + for (si = 0; si < s; si++) { + spflimit -= isd[nisig + si]->info.spf; + if (spflimit < 0) { + wfdb_error("isigopen: total frame size too large in record %s\n", + record); + isigclose(); + return (-3); + } + } + /* Copy the WFDB_Siginfo structures to the caller's array. Use these data to construct the initial sample vector, and to determine the maximum number of samples per signal per frame and the maximum skew. */ @@ -2200,8 +2249,10 @@ } nisig += s; /* Update the count of open input signals. */ nigroup += g; /* Update the count of open input signal groups. */ - if (sigmap_init() < 0) - return (-1); + if (sigmap_init(first_segment) < 0) { + isigclose(); + return (-3); + } setgvmode(gvmode); /* Reset sfreq if appropriate. */ gvc = ispfmax; /* Initialize getvec's sample-within-frame counter. */ @@ -2210,25 +2261,24 @@ framelen += isd[si]->info.spf; /* Allocate workspace for getvec, isgsettime, and tnextvec. */ - if (framelen > tuvlen) { - SREALLOC(tvector, framelen, sizeof(WFDB_Sample)); - SREALLOC(uvector, framelen, sizeof(WFDB_Sample)); - if (nvsig > nisig) { - int vframelen; - for (si = vframelen = 0; si < nvsig; si++) - vframelen += vsd[si]->info.spf; - SREALLOC(vvector, vframelen, sizeof(WFDB_Sample)); - } - else - SREALLOC(vvector, framelen, sizeof(WFDB_Sample)); - tuvlen = framelen; + if (tspf > tuvlen) { + SALLOC(tvector, tspf, sizeof(WFDB_Sample)); + SALLOC(uvector, tspf, sizeof(WFDB_Sample)); + SALLOC(vvector, tspf, sizeof(WFDB_Sample)); + tuvlen = tspf; } /* If deskewing is required, allocate the deskewing buffer (unless this is a multi-segment record and dsbuf has been allocated already). */ if (skewmax != 0 && (!in_msrec || dsbuf == NULL)) { + if (tspf > INT_MAX / (skewmax + 1)) { + wfdb_error("isigopen: maximum skew too large in record %s\n", + record); + isigclose(); + return (-3); + } dsbi = -1; /* mark buffer contents as invalid */ - dsblen = framelen * (skewmax + 1); + dsblen = tspf * (skewmax + 1); SALLOC(dsbuf, dsblen, sizeof(WFDB_Sample)); } return (s); @@ -2629,25 +2679,28 @@ FINT getframe(WFDB_Sample *vector) { - int stat; + int stat = -1; if (dsbuf) { /* signals must be deskewed */ int c, i, j, nsig, s; /* First, obtain the samples needed. */ if (dsbi < 0) { /* dsbuf contents are invalid -- refill dsbuf */ - for (dsbi = i = 0; i < dsblen; dsbi = i += framelen) + for (dsbi = i = 0; i < dsblen; dsbi = i += tspf) { stat = getskewedframe(dsbuf + dsbi); + if (stat < 0) + break; + } dsbi = 0; } else { /* replace oldest frame in dsbuf only */ stat = getskewedframe(dsbuf + dsbi); - if ((dsbi += framelen) >= dsblen) dsbi = 0; + if ((dsbi += tspf) >= dsblen) dsbi = 0; } + /* Assemble the deskewed frame from the data in dsbuf. */ - nsig = (nvsig > nisig) ? nvsig : nisig; - for (j = s = 0; s < nsig; s++) { - if ((i = j + dsbi + isd[s]->skew*framelen) >= dsblen) i -= dsblen; + for (j = s = 0; s < nisig; s++) { + if ((i = j + dsbi + isd[s]->skew*tspf) >= dsblen) i %= dsblen; for (c = 0; c < isd[s]->info.spf; c++) vector[j++] = dsbuf[i++]; } @@ -2990,9 +3043,9 @@ FINT setmsheader(char *record, char **segment_name, unsigned int nsegments) { - WFDB_Frequency msfreq, mscfreq; - double msbcount; - int n, nsig, old_in_msrec = in_msrec; + WFDB_Frequency msfreq = 0, mscfreq = 0; + double msbcount = 0; + int n, nsig = 0, old_in_msrec = in_msrec; long *ns; unsigned i; @@ -3692,7 +3745,10 @@ if (t <= tt - BUFLN || t > tt + BUFLN) { tt = t - BUFLN; if (tt < 0L) tt = -1L; - else if (isigsettime(tt-1) < 0) exit(2); + else if (isigsettime(tt-1) < 0) { + sample_vflag = 0; + return (WFDB_INVALID_SAMPLE); + } } /* If the requested sample is not yet in the buffer, read and buffer more samples. If we reach the end of the record, clear sample_vflag diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdb.h wfdb-10.6.1/lib/wfdb.h --- wfdb-10.6.0/lib/wfdb.h 2018-01-26 16:46:19.000000000 -0500 +++ wfdb-10.6.1/lib/wfdb.h 2018-11-28 17:29:56.000000000 -0500 @@ -16,10 +16,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -32,7 +31,7 @@ /* WFDB library version. */ #define WFDB_MAJOR 10 #define WFDB_MINOR 6 -#define WFDB_RELEASE 0 +#define WFDB_RELEASE 1 #define WFDB_NETFILES 1 /* if 1, library includes code for HTTP, FTP clients */ #define WFDB_NETFILES_LIBCURL 1 diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdb.h0 wfdb-10.6.1/lib/wfdb.h0 --- wfdb-10.6.0/lib/wfdb.h0 2018-01-23 18:16:22.000000000 -0500 +++ wfdb-10.6.1/lib/wfdb.h0 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdbinit.c wfdb-10.6.1/lib/wfdbinit.c --- wfdb-10.6.0/lib/wfdbinit.c 2012-09-27 08:54:23.000000000 -0400 +++ wfdb-10.6.1/lib/wfdbinit.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdbio.c wfdb-10.6.1/lib/wfdbio.c --- wfdb-10.6.0/lib/wfdbio.c 2018-01-23 18:16:22.000000000 -0500 +++ wfdb-10.6.1/lib/wfdbio.c 2018-11-28 16:55:58.000000000 -0500 @@ -1,5 +1,5 @@ /* file: wfdbio.c G. Moody 18 November 1988 - Last revised: 11 December 2017 wfdblib 10.6.0 + Last revised: 28 November 2018 wfdblib 10.6.1 Low-level I/O functions for the WFDB library _______________________________________________________________________________ @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -85,6 +84,7 @@ www_userpwd (get username/password for a given url) wfdb_wwwquit (shut down libcurl cleanly) www_init (initialize libcurl) + www_perform_request (request a url and check the response code) www_get_cont_len (find length of data for a given url) www_get_url_range_chunk (get a block of data from a given url) www_get_url_chunk (get all data from a given url) @@ -156,6 +156,7 @@ */ #include "wfdblib.h" +#include /* WFDB library functions */ @@ -577,10 +578,20 @@ semantics for putenv. */ void wfdb_free_config(void) { + static char n_wfdb[] = "WFDB="; + static char n_wfdbcal[] = "WFDBCAL="; + static char n_wfdbannsort[] = "WFDBANNSORT="; + static char n_wfdbgvmode[] = "WFDBGVMODE="; + if (p_wfdb) putenv(n_wfdb); + if (p_wfdbcal) putenv(n_wfdbcal); + if (p_wfdbannsort) putenv(n_wfdbannsort); + if (p_wfdbgvmode) putenv(n_wfdbgvmode); SFREE(p_wfdb); SFREE(p_wfdbcal); SFREE(p_wfdbannsort); SFREE(p_wfdbgvmode); + SFREE(wfdbpath); + SFREE(wfdbpath_init); } void wfdb_export_config(void) @@ -807,12 +818,16 @@ static int error_flag; static char *error_message; +#ifndef WFDB_BUILD_DATE +#define WFDB_BUILD_DATE __DATE__ +#endif + FSTRING wfdberror(void) { if (!error_flag) wfdb_asprintf(&error_message, "WFDB library version %d.%d.%d (%s).\n", - WFDB_MAJOR, WFDB_MINOR, WFDB_RELEASE, __DATE__); + WFDB_MAJOR, WFDB_MINOR, WFDB_RELEASE, WFDB_BUILD_DATE); if (error_message) return (error_message); else @@ -1231,6 +1246,9 @@ #if WFDB_NETFILES +/* cache redirections for 5 minutes */ +#define REDIRECT_CACHE_TIME (5 * 60) + struct netfile { char *url; char *data; @@ -1240,6 +1258,8 @@ long pos; long err; int fd; + char *redirect_url; + unsigned int redirect_time; }; static int nf_open_files = 0; /* number of open netfiles */ @@ -1256,7 +1276,11 @@ static char *s = NULL; libcurl_ver = curl_version(); - wfdb_asprintf(&s, "libwfdb/%d.%d.%d (%s)", WFDB_MAJOR, WFDB_MINOR, + + /* The +3XX flag informs the server that this client understands + and supports HTTP redirection (CURLOPT_FOLLOWLOCATION + enabled.) */ + wfdb_asprintf(&s, "libwfdb/%d.%d.%d (%s +3XX)", WFDB_MAJOR, WFDB_MINOR, WFDB_RELEASE, libcurl_ver); return (s); } @@ -1273,9 +1297,23 @@ return err; } +/* Get the current time, as an unsigned number of seconds since some + arbitrary starting point. */ +static unsigned int www_time(void) +{ +#ifdef HAVE_CLOCK_GETTIME + struct timespec ts; + if (!clock_gettime(CLOCK_MONOTONIC, &ts)) + return ((unsigned int) ts.tv_sec); +#endif + return ((unsigned int) time(NULL)); +} + struct chunk { long size, buffer_size; + unsigned long start_pos, end_pos, total_size; char *data; + char *url; }; /* This is a dummy write callback, for when we don't care about the @@ -1391,8 +1429,6 @@ curl_ua = curl_easy_init(); /* Buffer for error messages */ curl_easy_setopt(curl_ua, CURLOPT_ERRORBUFFER, curl_error_buf); - /* Return an error code when the server replies with status >= 400 */ - curl_easy_setopt(curl_ua, CURLOPT_FAILONERROR, 1L); /* String to send as a User-Agent header */ curl_easy_setopt(curl_ua, CURLOPT_USERAGENT, curl_get_ua_string()); #ifdef USE_NETRC @@ -1410,6 +1446,10 @@ /* Use any available authentication method */ curl_easy_setopt(curl_ua, CURLOPT_HTTPAUTH, CURLAUTH_ANY); + /* Follow up to 5 redirections */ + curl_easy_setopt(curl_ua, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(curl_ua, CURLOPT_MAXREDIRS, 5L); + /* Show details of URL requests if WFDB_NET_DEBUG is set */ if ((p = getenv("WFDB_NET_DEBUG")) && *p) curl_easy_setopt(curl_ua, CURLOPT_VERBOSE, 1L); @@ -1419,24 +1459,21 @@ } } -/* This function is called when a header is received. ptr points to - the string received; size*nmemb is the number of bytes, and stream - is the pointer specified as CURLOPT_WRITEHEADER. */ -static size_t curl_header_length_write(void *ptr, size_t size, size_t nmemb, - void *stream) -{ - char *s = (char *) ptr; - double *d = (double *) stream; - - if (0 == strncasecmp(s, "Content-Length:", 15)) { - sscanf(s + 15, "%lf", d); - } - return size*nmemb; +/* Send a request and wait for the response. If using HTTP, check the + response code to see whether the request was successful. */ +static int www_perform_request(CURL *c) +{ + long code; + if (curl_easy_perform(c)) + return (-1); + if (curl_easy_getinfo(c, CURLINFO_HTTP_CODE, &code)) + return (0); + return (code < 400 ? 0 : -1); } static long www_get_cont_len(const char *url) { - static double length; + double length; length = 0; if (/* We just want the content length; NOBODY means we want to @@ -1449,21 +1486,19 @@ www_userpwd(url))) /* Don't send a range request */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_RANGE, NULL)) - /* If any body data is received, ignore it */ + /* Ignore both headers and body */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEFUNCTION, curl_null_write)) - || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEDATA, NULL)) - /* Process received headers using curl_header_length_write */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_HEADERFUNCTION, - curl_header_length_write)) - /* Set the user data for curl_header_length_write */ - || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEHEADER, - &length)) + curl_null_write)) /* Actually perform the request and wait for a response */ - || curl_easy_perform(curl_ua)) - return 0; + || www_perform_request(curl_ua)) + return (0); + + if (curl_easy_getinfo(curl_ua, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &length)) + return (0); - return (long) length; + return ((long) length); } /* Create a new, empty chunk. */ @@ -1475,6 +1510,10 @@ SALLOC(c->data, 1, len); c->size = 0L; c->buffer_size = len; + c->start_pos = 0; + c->end_pos = 0; + c->total_size = 0; + c->url = NULL; return c; } @@ -1483,10 +1522,32 @@ { if (c) { SFREE(c->data); + SFREE(c->url); SFREE(c); } } +/* Write metadata (e.g., HTTP headers) into a chunk. This function is + called by curl and must take the same arguments as fwrite(). ptr + points to the data received, size*nmemb is the number of bytes, and + stream is the user data specified by CURLOPT_WRITEHEADER. */ +static size_t curl_chunk_header_write(void *ptr, size_t size, size_t nmemb, + void *stream) +{ + char *s = (char *) ptr; + struct chunk *c = (struct chunk *) stream; + + if (0 == strncasecmp(s, "Content-Range:", 14)) { + s += 14; + while (*s == ' ') + s++; + if (0 == strncasecmp(s, "bytes ", 6)) + sscanf(s + 6, "%lu-%lu/%lu", + &c->start_pos, &c->end_pos, &c->total_size); + } + return (size * nmemb); +} + /* Write data into a chunk. This function is called by curl and must take the same arguments as fwrite(). ptr points to the data received, size*nmemb is the number of bytes, and stream is the user @@ -1503,7 +1564,8 @@ c->buffer_size += 1024; SREALLOC(c->data, 1, c->buffer_size); } - memcpy(c->data + c->size, ptr, size); + if (c->data) + memcpy(c->data + c->size, ptr, size); c->size += size; count += size; p = (char *)ptr + size; /* avoid arithmetic on void pointer */ @@ -1523,10 +1585,13 @@ { CHUNK *chunk = NULL, *extra_chunk = NULL; char range_req_str[6*sizeof(long) + 2]; + const char *url2 = NULL; if (url && *url) { sprintf(range_req_str, "%ld-%ld", startb, startb+len-1); chunk = chunk_new(len); + if (!chunk) + return (NULL); if (/* In this case we want to send a GET request rather than a HEAD */ @@ -1545,65 +1610,24 @@ curl_chunk_write)) /* The pointer to pass to the write function */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEDATA, chunk)) - /* Don't bother writing the header data anywhere */ + /* This function will be used to parse HTTP headers */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_HEADERFUNCTION, - curl_null_write)) + curl_chunk_header_write)) + /* The pointer to pass to the header function */ + || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEHEADER, chunk)) /* Perform the request */ - || curl_try(curl_easy_perform(curl_ua))) { + || www_perform_request(curl_ua)) { chunk_delete(chunk); - return NULL; + return (NULL); } - - if (chunk && (chunk_size(chunk) > len)) { - /* We received a larger chunk than requested. */ - if (chunk_size(chunk) >= startb + len) { - /* If the chunk is large enough to include the requested range - and everything before it, assume that that's what we have - (it may be the entire file). This might happen if the - file was in the cache or if the server does not support the - range request. Since the caller expects only a chunk of - len bytes beginning with the data of interest, we need to - create a new chunk of the proper length, fill it, and - - return it to the caller. HTChunk_new makes a new chunk, - which grows as needed in multiples of its argument (in - bytes). */ - extra_chunk = chunk_new(len); - /* Copy the desired range out of the chunk we received into the - new chunk. */ - chunk_putb(extra_chunk, &chunk_data(chunk)[startb], len); - /* Discard the chunk we received. */ - chunk_delete(chunk); - /* Arrange for the new chunk to be returned. */ - chunk = extra_chunk; - } - else { - /* We received some chunk of the file (not the whole file, but - not what we requested, either). Since we don't know what - we have, let's try again, but only once. */ - static int retry = 1; - - if (retry) { - retry = 0; - fflush(stderr); - chunk = www_get_url_range_chunk(url, startb, len); - retry = 1; - return (chunk); - } - else { - /* We did no better the second time, so let's return an - error to the caller. */ - wfdb_error( - "www_get_url_range_chunk: fatal error requesting %s (%s)\n", - url, range_req_str); - if (chunk) { - chunk_delete(chunk); - chunk = NULL; - } - retry = 1; - } - } + if (!chunk->data) { + chunk_delete(chunk); + chunk = NULL; + } + else if (!curl_easy_getinfo(curl_ua, CURLINFO_EFFECTIVE_URL, &url2) && + url2 && *url2 && strcmp(url, url2)) { + SSTRCPY(chunk->url, url2); } } return (chunk); @@ -1614,6 +1638,8 @@ CHUNK *chunk = NULL; chunk = chunk_new(1024); + if (!chunk) + return (NULL); if (/* Send a GET request */ curl_try(curl_easy_setopt(curl_ua, CURLOPT_NOBODY, 0L)) @@ -1634,10 +1660,14 @@ /* and ignore the header data */ || curl_try(curl_easy_setopt(curl_ua, CURLOPT_WRITEDATA, chunk)) /* perform the request */ - || curl_easy_perform(curl_ua)) { + || www_perform_request(curl_ua)) { chunk_delete(chunk); - return NULL; + return (NULL); + } + if (!chunk->data) { + chunk_delete(chunk); + chunk = NULL; } return (chunk); @@ -1648,10 +1678,38 @@ if (nf) { SFREE(nf->url); SFREE(nf->data); + SFREE(nf->redirect_url); SFREE(nf); } } +static CHUNK *nf_get_url_range_chunk(netfile *nf, long startb, long len) +{ + char *url; + CHUNK *chunk; + unsigned int request_time; + + /* If a previous request for this file was recently redirected, + use the previous (redirected) URL; otherwise, use the original + URL. (If the system clock moves backwards, the cache is + assumed to be out-of-date.) */ + request_time = www_time(); + if (request_time - nf->redirect_time > REDIRECT_CACHE_TIME) { + SFREE(nf->redirect_url); + } + url = (nf->redirect_url ? nf->redirect_url : nf->url); + + chunk = www_get_url_range_chunk(url, startb, len); + + if (chunk && chunk->url) { + /* don't update redirect_time if we didn't hit nf->url */ + if (!nf->redirect_url) + nf->redirect_time = request_time; + SSTRCPY(nf->redirect_url, chunk->url); + } + return (chunk); +} + /* nf_new attempts to read (at least part of) the file named by its argument (normally an http:// or ftp:// url). If page_size is nonzero and the file can be read in segments (this will be true for files served by http @@ -1673,7 +1731,6 @@ { netfile *nf; CHUNK *chunk = NULL; - long bytes_received = 0L; SUALLOC(nf, 1, sizeof(netfile)); if (nf && url && *url) { @@ -1683,35 +1740,58 @@ nf->data = NULL; nf->err = NF_NO_ERR; nf->fd = -1; + nf->redirect_url = NULL; - /* First try to get the content length. If it works, we're probably - trying to read an http url. */ - if (page_size > 0L && (nf->cont_len = www_get_cont_len(url))) { - /* Success! Let's try a range request now. */ - long bytes_requested = nf->cont_len; - if (bytes_requested > page_size) bytes_requested = page_size; - if (chunk = www_get_url_range_chunk(nf->url,0L, bytes_requested)) { - bytes_received = chunk_size(chunk); - if (bytes_requested != bytes_received) - wfdb_error( - "nf_new: requested %ld, got %ld bytes from %s\n", - bytes_requested, bytes_received, url); - if (bytes_received > 0) - nf->mode = NF_CHUNK_MODE; - } + if (page_size > 0L) + /* Try to read the first part of the file. */ + chunk = nf_get_url_range_chunk(nf, 0L, page_size); + else + /* Try to read the entire file. */ + chunk = www_get_url_chunk(nf->url); + + if (!chunk) { + nf_delete(nf); + return (NULL); } - if (bytes_received == 0L && (chunk = www_get_url_chunk(nf->url))) { - nf->mode = NF_FULL_MODE; - bytes_received = nf->cont_len = chunk_size(chunk); - } - if (bytes_received > 0L) { - SALLOC(nf->data, bytes_received, sizeof(char)); - memcpy(nf->data, chunk_data(chunk), bytes_received); + + if (chunk->start_pos == 0 && + chunk->end_pos == chunk->size - 1 && + chunk->total_size >= chunk->size && + (chunk->size == page_size || chunk->size == chunk->total_size)) { + /* Range request works and the total file size is known. */ + nf->cont_len = chunk->total_size; + nf->mode = NF_CHUNK_MODE; + } + else if (chunk->total_size == 0) { + if (page_size > 0 && chunk->size == page_size) + /* This might be a range response from a protocol that + doesn't report the file size, or might be a file + that happens to be exactly the size we requested. + Check the full size of the file. */ + nf->cont_len = www_get_cont_len(nf->url); + else + nf->cont_len = chunk->size; + + if (nf->cont_len > chunk->size) + nf->mode = NF_CHUNK_MODE; + else + nf->mode = NF_FULL_MODE; + } + else { + wfdb_error("nf_new: unexpected range response (%lu-%lu/%lu)\n", + chunk->start_pos, chunk->end_pos, chunk->total_size); + chunk_delete(chunk); + nf_delete(nf); + return (NULL); + } + if (chunk->size > 0L) { + nf->data = chunk->data; + chunk->data = NULL; } if (nf->data == NULL) { - if (bytes_received > 0L) + if (chunk->size > 0L) wfdb_error("nf_new: insufficient memory (needed %ld bytes)\n", - bytes_received); + chunk->size); /* If no bytes were received, the remote file probably doesn't exist. This happens routinely while searching the WFDB path, so it's not flagged as an error. Note, however, that we can't tell @@ -1730,7 +1810,7 @@ static long nf_get_range(netfile* nf, long startb, long len, char *rbuf) { CHUNK *chunk = NULL; - char *rp; + char *rp = NULL; long avail = nf->cont_len - startb; if (len > avail) len = avail; /* limit request to available bytes */ @@ -1745,7 +1825,7 @@ if ((startb < nf->base_addr) || ((startb + len) > (nf->base_addr + page_size))) { /* requested data not in cache -- update the cache */ - if (chunk = www_get_url_range_chunk(nf->url, startb, rlen)) { + if (chunk = nf_get_url_range_chunk(nf, startb, rlen)) { if (chunk_size(chunk) != rlen) { wfdb_error( "nf_get_range: requested %ld bytes, received %ld bytes\n", @@ -1769,21 +1849,29 @@ rp = nf->data + startb - nf->base_addr; } - else if (chunk = www_get_url_range_chunk(nf->url, startb, len)) { + else if (chunk = nf_get_url_range_chunk(nf, startb, len)) { /* long request (> page_size) */ if (chunk_size(chunk) != len) { wfdb_error( "nf_get_range: requested %ld bytes, received %ld bytes\n", len, (long)chunk_size(chunk)); + len = 0L; } rp = chunk_data(chunk); } + else { + wfdb_error( + "nf_get_range: couldn't read %ld bytes of %s starting at %ld\n", + len, nf->url, startb); + len = 0L; + } } else /* cannot use range requests -- cache contains full file */ rp = nf->data + startb; - memcpy(rbuf, rp, len); + if (rp != NULL && len > 0) + memcpy(rbuf, rp, len); if (chunk) chunk_delete(chunk); return (len); } @@ -2050,17 +2138,16 @@ if (p == NULL || strstr(p, "..")) return (NULL); SUALLOC(wp, 1, sizeof(WFDB_FILE)); - while (*p) - if (*p++ == ':' && *p++ == '/' && *p++ == '/') { + if (strstr(p, "://")) { #if WFDB_NETFILES - if (wp->netfp = nf_fopen(fname, mode)) { - wp->type = WFDB_NET; - return (wp); - } -#endif - SFREE(wp); - return (NULL); + if (wp->netfp = nf_fopen(fname, mode)) { + wp->type = WFDB_NET; + return (wp); } +#endif + SFREE(wp); + return (NULL); + } if (wp->fp = fopen(fname, mode)) { wp->type = WFDB_LOCAL; return (wp); diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdblib.h wfdb-10.6.1/lib/wfdblib.h --- wfdb-10.6.0/lib/wfdblib.h 2018-01-26 16:46:19.000000000 -0500 +++ wfdb-10.6.1/lib/wfdblib.h 2018-11-28 17:29:56.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/lib/wfdblib.h0 wfdb-10.6.1/lib/wfdblib.h0 --- wfdb-10.6.0/lib/wfdblib.h0 2017-11-13 18:48:18.000000000 -0500 +++ wfdb-10.6.1/lib/wfdblib.h0 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ details. You should have received a copy of the GNU Library General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place - Suite 330, Boston, MA 02111-1307, USA. +with this library; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/Makefile.top wfdb-10.6.1/psd/Makefile.top --- wfdb-10.6.0/psd/Makefile.top 2003-06-16 16:12:48.000000000 -0400 +++ wfdb-10.6.1/psd/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/Makefile.tpl wfdb-10.6.1/psd/Makefile.tpl --- wfdb-10.6.0/psd/Makefile.tpl 2017-03-09 18:13:19.000000000 -0500 +++ wfdb-10.6.1/psd/Makefile.tpl 2018-05-09 12:33:32.000000000 -0400 @@ -1,5 +1,5 @@ # file: Makefile.tpl G. Moody 24 May 2000 -# Last revised: 8 March 2017 +# Last revised: 9 May 2018 # This section of the Makefile should not need to be changed. # Programs to be compiled. @@ -34,19 +34,19 @@ ../uninstall.sh $(DESTDIR)$(BINDIR) $(XFILES) $(SCRIPTS) coherence: coherence.c - $(CC) $(MFLAGS) -o coherence -O coherence.c -lm + $(CC) $(CFLAGS) -o coherence -O coherence.c -lm fft: fft.c - $(CC) $(MFLAGS) -o fft -O fft.c -lm + $(CC) $(CFLAGS) -o fft -O fft.c -lm log10: log10.c - $(CC) $(MFLAGS) $(CCDEFS) -o log10 -O log10.c -lm + $(CC) $(CFLAGS) -o log10 -O log10.c -lm lomb: lomb.c - $(CC) $(MFLAGS) -o lomb -O lomb.c -lm + $(CC) $(CFLAGS) -o lomb -O lomb.c -lm memse: memse.c - $(CC) $(MFLAGS) -o memse -O memse.c -lm + $(CC) $(CFLAGS) -o memse -O memse.c -lm # `make clean': remove intermediate and backup files. clean: diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/README wfdb-10.6.1/psd/README --- wfdb-10.6.0/psd/README 2005-06-08 17:26:56.000000000 -0400 +++ wfdb-10.6.1/psd/README 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ more details. You should have received a copy of the GNU General Public License along with -these programs; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +these programs; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/coherence.c wfdb-10.6.1/psd/coherence.c --- wfdb-10.6.0/psd/coherence.c 2005-06-10 09:43:44.000000000 -0400 +++ wfdb-10.6.1/psd/coherence.c 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/fft.c wfdb-10.6.1/psd/fft.c --- wfdb-10.6.0/psd/fft.c 2008-10-27 14:57:38.000000000 -0400 +++ wfdb-10.6.1/psd/fft.c 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/hrfft wfdb-10.6.1/psd/hrfft --- wfdb-10.6.0/psd/hrfft 2003-06-17 09:58:21.000000000 -0400 +++ wfdb-10.6.1/psd/hrfft 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/hrlomb wfdb-10.6.1/psd/hrlomb --- wfdb-10.6.0/psd/hrlomb 2003-06-16 15:27:47.000000000 -0400 +++ wfdb-10.6.1/psd/hrlomb 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/hrmem wfdb-10.6.1/psd/hrmem --- wfdb-10.6.0/psd/hrmem 2003-06-16 15:40:48.000000000 -0400 +++ wfdb-10.6.1/psd/hrmem 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/hrplot wfdb-10.6.1/psd/hrplot --- wfdb-10.6.0/psd/hrplot 2003-02-19 22:19:39.000000000 -0500 +++ wfdb-10.6.1/psd/hrplot 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/log10.c wfdb-10.6.1/psd/log10.c --- wfdb-10.6.0/psd/log10.c 2006-03-22 11:07:41.000000000 -0500 +++ wfdb-10.6.1/psd/log10.c 2018-11-28 16:55:58.000000000 -0500 @@ -1,5 +1,5 @@ /* file: log10.c G. Moody 19 July 1995 - Last revised: 22 March 2006 + Last revised: 9 May 2018 ------------------------------------------------------------------------------- log10: common log transform of 2-column data @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -29,7 +28,7 @@ #include #ifndef MINDOUBLE -#ifdef BSD +#ifdef __STDC__ #include #define MINDOUBLE DBL_MIN #define NOVALUES_H diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/lomb.c wfdb-10.6.1/psd/lomb.c --- wfdb-10.6.0/psd/lomb.c 2010-07-27 14:20:51.000000000 -0400 +++ wfdb-10.6.1/psd/lomb.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/memse.c wfdb-10.6.1/psd/memse.c --- wfdb-10.6.0/psd/memse.c 2006-03-13 16:23:01.000000000 -0500 +++ wfdb-10.6.1/psd/memse.c 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/plot2d wfdb-10.6.1/psd/plot2d --- wfdb-10.6.0/psd/plot2d 2003-06-16 15:52:49.000000000 -0400 +++ wfdb-10.6.1/psd/plot2d 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/psd/plot3d wfdb-10.6.1/psd/plot3d --- wfdb-10.6.0/psd/plot3d 2003-06-16 15:53:46.000000000 -0400 +++ wfdb-10.6.1/psd/plot3d 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/Makefile.top wfdb-10.6.1/wave/Makefile.top --- wfdb-10.6.0/wave/Makefile.top 2001-11-16 01:13:56.000000000 -0500 +++ wfdb-10.6.1/wave/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/README wfdb-10.6.1/wave/README --- wfdb-10.6.0/wave/README 2005-06-08 17:38:34.000000000 -0400 +++ wfdb-10.6.1/wave/README 2018-11-28 16:55:58.000000000 -0500 @@ -15,10 +15,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/analyze.c wfdb-10.6.1/wave/analyze.c --- wfdb-10.6.0/wave/analyze.c 2001-11-26 23:37:53.000000000 -0500 +++ wfdb-10.6.1/wave/analyze.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/annot.c wfdb-10.6.1/wave/annot.c --- wfdb-10.6.0/wave/annot.c 2010-06-22 11:46:19.000000000 -0400 +++ wfdb-10.6.1/wave/annot.c 2018-11-28 16:55:58.000000000 -0500 @@ -1,5 +1,5 @@ /* file: annot.c G. Moody 1 May 1990 - Last revised: 22 June 2010 + Last revised: 9 May 2018 Annotation list handling and display functions for WAVE ------------------------------------------------------------------------------- @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ @@ -33,32 +32,6 @@ #include #include -/* The ANSI C function strstr is defined here for those systems which don't - include it in their libraries. This includes all older (pre-ANSI) C - libraries; some modern non-ANSI C libraries (notably those supplied with - SunOS 4.1) do have strstr, so we can't just make this conditional on - __STDC__. */ -#ifdef sun -#ifdef i386 -#define NOSTRSTR -#endif -#endif - -#ifdef NOSTRSTR -char *strstr(s1, s2) -char *s1, *s2; -{ - char *p = s1; - int n; - - if (s1 == NULL || s2 == NULL || *s2 == '\0') return (s1); - n = strlen(s2); - while ((p = strchr(p, *s2)) && strncmp(p, s2, n)) - p++; - return (p); -} -#endif - void set_frame_title(); struct ap *get_ap() diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/annpan.c wfdb-10.6.1/wave/annpan.c --- wfdb-10.6.0/wave/annpan.c 2000-01-30 04:13:21.000000000 -0500 +++ wfdb-10.6.1/wave/annpan.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/bitmaps.h wfdb-10.6.1/wave/bitmaps.h --- wfdb-10.6.0/wave/bitmaps.h 2000-01-30 04:13:21.000000000 -0500 +++ wfdb-10.6.1/wave/bitmaps.h 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/edit.c wfdb-10.6.1/wave/edit.c --- wfdb-10.6.0/wave/edit.c 2010-07-13 17:33:24.000000000 -0400 +++ wfdb-10.6.1/wave/edit.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/grid.c wfdb-10.6.1/wave/grid.c --- wfdb-10.6.0/wave/grid.c 2010-07-13 19:29:14.000000000 -0400 +++ wfdb-10.6.1/wave/grid.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/helppan.c wfdb-10.6.1/wave/helppan.c --- wfdb-10.6.0/wave/helppan.c 2010-07-12 15:18:12.000000000 -0400 +++ wfdb-10.6.1/wave/helppan.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/init.c wfdb-10.6.1/wave/init.c --- wfdb-10.6.0/wave/init.c 2013-11-21 10:22:34.000000000 -0500 +++ wfdb-10.6.1/wave/init.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/intro.hlp wfdb-10.6.1/wave/intro.hlp --- wfdb-10.6.0/wave/intro.hlp 2010-07-12 17:21:50.000000000 -0400 +++ wfdb-10.6.1/wave/intro.hlp 2018-11-28 16:55:58.000000000 -0500 @@ -43,12 +43,11 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . Your comments and suggestions are welcome! Please send them by e-mail to -george@mit.edu, or by postal mail to: - George B. Moody +wfdb@physionet.org, or by postal mail to: + PhysioNet MIT Room E25-505A Cambridge, MA 02139 USA For updates to this software, please visit http://www.physionet.org/. diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/logpan.c wfdb-10.6.1/wave/logpan.c --- wfdb-10.6.0/wave/logpan.c 2000-01-30 04:13:21.000000000 -0500 +++ wfdb-10.6.1/wave/logpan.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/mainpan.c wfdb-10.6.1/wave/mainpan.c --- wfdb-10.6.0/wave/mainpan.c 2010-07-13 17:08:48.000000000 -0400 +++ wfdb-10.6.1/wave/mainpan.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/modepan.c wfdb-10.6.1/wave/modepan.c --- wfdb-10.6.0/wave/modepan.c 2017-08-15 14:02:31.000000000 -0400 +++ wfdb-10.6.1/wave/modepan.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/scope.c wfdb-10.6.1/wave/scope.c --- wfdb-10.6.0/wave/scope.c 2005-06-10 06:28:30.000000000 -0400 +++ wfdb-10.6.1/wave/scope.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/search.c wfdb-10.6.1/wave/search.c --- wfdb-10.6.0/wave/search.c 2010-07-13 13:54:18.000000000 -0400 +++ wfdb-10.6.1/wave/search.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/sig.c wfdb-10.6.1/wave/sig.c --- wfdb-10.6.0/wave/sig.c 2017-08-14 16:02:24.000000000 -0400 +++ wfdb-10.6.1/wave/sig.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/soelim.c wfdb-10.6.1/wave/soelim.c --- wfdb-10.6.0/wave/soelim.c 2005-06-29 18:54:56.000000000 -0400 +++ wfdb-10.6.1/wave/soelim.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/wave.c wfdb-10.6.1/wave/wave.c --- wfdb-10.6.0/wave/wave.c 2008-05-09 15:48:13.000000000 -0400 +++ wfdb-10.6.1/wave/wave.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/wave.h wfdb-10.6.1/wave/wave.h --- wfdb-10.6.0/wave/wave.h 2010-07-13 16:06:17.000000000 -0400 +++ wfdb-10.6.1/wave/wave.h 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/wave.info wfdb-10.6.1/wave/wave.info --- wfdb-10.6.0/wave/wave.info 2014-03-13 14:38:31.000000000 -0400 +++ wfdb-10.6.1/wave/wave.info 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/wave.prf wfdb-10.6.1/wave/wave.prf --- wfdb-10.6.0/wave/wave.prf 2010-07-13 17:53:00.000000000 -0400 +++ wfdb-10.6.1/wave/wave.prf 2018-11-28 16:55:58.000000000 -0500 @@ -19,10 +19,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). If you are submitting a bug report, please include your name and address, and the version number and date shown above. Thanks! diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/wavemenu.def wfdb-10.6.1/wave/wavemenu.def --- wfdb-10.6.0/wave/wavemenu.def 2001-11-27 14:10:13.000000000 -0500 +++ wfdb-10.6.1/wave/wavemenu.def 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ # details. # # You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# this program; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/xvwave.c wfdb-10.6.1/wave/xvwave.c --- wfdb-10.6.0/wave/xvwave.c 2017-03-09 18:13:19.000000000 -0500 +++ wfdb-10.6.1/wave/xvwave.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/wave/xvwave.h wfdb-10.6.1/wave/xvwave.h --- wfdb-10.6.0/wave/xvwave.h 2005-06-10 10:28:57.000000000 -0400 +++ wfdb-10.6.1/wave/xvwave.h 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/waverc/Makefile.top wfdb-10.6.1/waverc/Makefile.top --- wfdb-10.6.0/waverc/Makefile.top 2000-05-24 22:35:27.000000000 -0400 +++ wfdb-10.6.1/waverc/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/waverc/Makefile.tpl wfdb-10.6.1/waverc/Makefile.tpl --- wfdb-10.6.0/waverc/Makefile.tpl 2017-03-09 18:13:19.000000000 -0500 +++ wfdb-10.6.1/waverc/Makefile.tpl 2018-05-09 12:33:50.000000000 -0400 @@ -1,5 +1,5 @@ # file: Makefile.tpl G. Moody 24 May 2000 -# Last revised: 8 March 2017 +# Last revised: 9 May 2018 # Change the settings below as appropriate for your setup. # `make all' creates wavescript and wave-remote without installing them. @@ -24,18 +24,18 @@ # `wavescript' reads commands from a named file and passes them to WAVE. wavescript: wavescript.c - $(CC) $(MFLAGS) -o wavescript -DBINDIR=$(BINDIR) -O wavescript.c + $(CC) $(CFLAGS) -o wavescript -DBINDIR=$(BINDIR) -O wavescript.c # `wave-remote' passes its command-line arguments as commands to WAVE. wave-remote: wave-remote.c - $(CC) $(MFLAGS) -o wave-remote -O wave-remote.c + $(CC) $(CFLAGS) -o wave-remote -O wave-remote.c # `wave-remote-test' looks like WAVE to `wavescript' and `wave-remote', and # can be used to verify their proper operation. Start `wave-remote-test' # before starting `wavescript' or `wave-remote'; the commands these programs # send to WAVE should appear on the standard output of `wave-remote-test. wave-remote-test: wave-remote-test.c - $(CC) $(MFLAGS) -o wave-remote-test -O wave-remote-test.c + $(CC) $(CFLAGS) -o wave-remote-test -O wave-remote-test.c # `make clean': remove intermediate and backup files clean: diff -Naur '--exclude=Makefile' wfdb-10.6.0/waverc/wave-remote-test.c wfdb-10.6.1/waverc/wave-remote-test.c --- wfdb-10.6.0/waverc/wave-remote-test.c 2000-01-30 04:13:27.000000000 -0500 +++ wfdb-10.6.1/waverc/wave-remote-test.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/waverc/wave-remote.c wfdb-10.6.1/waverc/wave-remote.c --- wfdb-10.6.0/waverc/wave-remote.c 2005-06-10 09:49:00.000000000 -0400 +++ wfdb-10.6.1/waverc/wave-remote.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/waverc/wavescript.c wfdb-10.6.1/waverc/wavescript.c --- wfdb-10.6.0/waverc/wavescript.c 2005-06-10 09:43:48.000000000 -0400 +++ wfdb-10.6.1/waverc/wavescript.c 2018-11-28 16:55:58.000000000 -0500 @@ -16,10 +16,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/Makefile.top wfdb-10.6.1/xml/Makefile.top --- wfdb-10.6.0/xml/Makefile.top 2010-10-06 22:18:20.000000000 -0400 +++ wfdb-10.6.1/xml/Makefile.top 2018-11-28 16:55:58.000000000 -0500 @@ -17,10 +17,9 @@ # more details. # # You should have received a copy of the GNU General Public License along with -# these programs; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# these programs; if not, see . # -# You may contact the author by e-mail (george@mit.edu) or postal mail +# You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/annxml.c wfdb-10.6.1/xml/annxml.c --- wfdb-10.6.0/xml/annxml.c 2010-07-01 21:22:14.000000000 -0400 +++ wfdb-10.6.1/xml/annxml.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/heaxml.c wfdb-10.6.1/xml/heaxml.c --- wfdb-10.6.0/xml/heaxml.c 2017-12-11 15:55:32.000000000 -0500 +++ wfdb-10.6.1/xml/heaxml.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/xmlann.c wfdb-10.6.1/xml/xmlann.c --- wfdb-10.6.0/xml/xmlann.c 2017-12-11 15:55:32.000000000 -0500 +++ wfdb-10.6.1/xml/xmlann.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/xmlhea.c wfdb-10.6.1/xml/xmlhea.c --- wfdb-10.6.0/xml/xmlhea.c 2017-12-11 15:55:32.000000000 -0500 +++ wfdb-10.6.1/xml/xmlhea.c 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________ diff -Naur '--exclude=Makefile' wfdb-10.6.0/xml/xmlproc.h wfdb-10.6.1/xml/xmlproc.h --- wfdb-10.6.0/xml/xmlproc.h 2010-08-22 18:58:26.000000000 -0400 +++ wfdb-10.6.1/xml/xmlproc.h 2018-11-28 16:55:58.000000000 -0500 @@ -14,10 +14,9 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see . -You may contact the author by e-mail (george@mit.edu) or postal mail +You may contact the author by e-mail (wfdb@physionet.org) or postal mail (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, please visit PhysioNet (http://www.physionet.org/). _______________________________________________________________________________