diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/conf/version.def wfdb-10.3.10/conf/version.def
--- wfdb-10.3.9/conf/version.def 2003-07-16 20:07:09.000000000 -0400
+++ wfdb-10.3.10/conf/version.def 2003-08-03 20:29:00.000000000 -0400
@@ -1,10 +1,10 @@
# file: version.def G. Moody 24 May 2000
-# Last revised: 16 July 2003
+# Last revised: 3 August 2003
# Each release of the WFDB Software Package is identified by a three-part
# version number, defined here:
MAJOR = 10
MINOR = 3
-RELEASE = 9
+RELEASE = 10
VERSION = $(MAJOR).$(MINOR).$(RELEASE)
# RPMRELEASE can be incremented if changes are made between official
@@ -16,6 +16,6 @@
VDEFS = -DWFDB_MAJOR=$(MAJOR) -DWFDB_MINOR=$(MINOR) -DWFDB_RELEASE=$(RELEASE)
# WAVEVERSION is the WAVE version number.
-WAVEVERSION = 6.6
+WAVEVERSION = 6.7
# _____________________________________________________________________________
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/doc/wag-src/wag.ht0 wfdb-10.3.10/doc/wag-src/wag.ht0
--- wfdb-10.3.9/doc/wag-src/wag.ht0 2002-10-29 10:00:30.000000000 -0500
+++ wfdb-10.3.10/doc/wag-src/wag.ht0 2003-08-03 20:18:32.000000000 -0400
@@ -20,7 +20,7 @@
George B. Moody
Harvard-MIT Division of Health Sciences and Technology
-Copyright ©1980-2002 George B. Moody +Copyright ©1980-2003 George B. Moody
The most recent versions of the programs described in this guide may be freely
downloaded from PhysioNet. For
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/doc/wag-src/wag.tex wfdb-10.3.10/doc/wag-src/wag.tex
--- wfdb-10.3.9/doc/wag-src/wag.tex 2002-10-29 15:36:11.000000000 -0500
+++ wfdb-10.3.10/doc/wag-src/wag.tex 2003-08-03 20:18:21.000000000 -0400
@@ -36,7 +36,7 @@
\pagestyle{empty}
\vspace*{\fill}
\noindent
-Copyright \copyright 1992 -- 2002 George B. Moody
+Copyright \copyright 1992 -- 2003 George B. Moody
\vspace{1 in}
\noindent
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/doc/wpg-src/wpg0.tex wfdb-10.3.10/doc/wpg-src/wpg0.tex
--- wfdb-10.3.9/doc/wpg-src/wpg0.tex 2003-07-16 22:28:51.000000000 -0400
+++ wfdb-10.3.10/doc/wpg-src/wpg0.tex 2003-08-03 20:24:19.000000000 -0400
@@ -21,7 +21,7 @@
@center Harvard-MIT Division of Health Sciences and Technology
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1989 -- 2002 George B. Moody
+Copyright @copyright{} 1989 -- 2003 George B. Moody
@sp 2
The most recent versions of the software described in this guide may be
downloaded from @uref{http://www.physionet.org/}. For further
@@ -488,6 +488,13 @@
WFDB Software Package distribution, for information on any more recent
changes that may not be described here.
+@unnumberedsubsec Changes in version 10.3.10
+
+In version 10.3.9, the functions @code{setannstr}, @code{setanndesc},
+and @code{setecgstr} did not contain necessary checks to avoid invoking
+@code{strcmp} with a @code{NULL} argument. These checks have been added in
+version 10.3.10.
+
@unnumberedsubsec Changes in version 10.3.9
The WFDB library functions @code{setwfdb}, @code{setannstr},
@@ -8370,8 +8377,8 @@
in even-numbered years, they are convened in North America, and in Europe in
odd-numbered years. The deadline for submission of abstracts is 1 May each
year. Proceedings of the conferences are published by the IEEE, and
-usually appear about 3 months after the date of the conference. CinC will be
-in Memphis, Tennessee in 2002, and in Thessaloniki in 2003.
+usually appear about 3 months after the date of the conference. CinC
+will be in Thessaloniki in 2003 and in Chicago in 2004.
@item Proceedings of Computers in Cardiology (ISSN 0276-6574)
@sp 1
@@ -8750,7 +8757,7 @@
George B. Moody
-Copyright (C) 1989 -- 2002 George B. Moody
+Copyright (C) 1989 -- 2003 George B. Moody
Permission is granted to make and distribute verbatim copies of this
guide provided that the copyright notice and this permission notice are
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/doc/wpg-src/wpg.ht0 wfdb-10.3.10/doc/wpg-src/wpg.ht0
--- wfdb-10.3.9/doc/wpg-src/wpg.ht0 2002-07-21 23:27:15.000000000 -0400
+++ wfdb-10.3.10/doc/wpg-src/wpg.ht0 2003-08-03 20:17:16.000000000 -0400
@@ -19,7 +19,7 @@
George B. Moody
Harvard-MIT Division of Health Sciences and Technology
-Copyright ©1980-2002 George B. Moody. +Copyright ©1980-2003 George B. Moody.
The most recent versions of the software described in this guide are freely
downloadable from PhysioNet. For
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/doc/wug-src/wug0.tex wfdb-10.3.10/doc/wug-src/wug0.tex
--- wfdb-10.3.9/doc/wug-src/wug0.tex 2003-04-02 23:11:40.000000000 -0500
+++ wfdb-10.3.10/doc/wug-src/wug0.tex 2003-08-03 20:17:06.000000000 -0400
@@ -57,7 +57,7 @@
\pagestyle{empty}
\vspace*{\fill}
\noindent
-Copyright \copyright 1992 -- 2002 George B. Moody
+Copyright \copyright 1992 -- 2003 George B. Moody
\vspace{1 in}
\noindent
@@ -4863,16 +4863,6 @@
Microstar Laboratories,
\htmladdnormallink{http://www.mstarlabs.com/).}{http://www.mstarlabs.com/}
-\index{CD-ROM}\index{MIT-BIH Arrhythmia Database}
-\index{European ST-T Database}\index{MIT-BIH Polysomnographic Database}
-\index{MGH/MF Waveform Database}
-You may also find that an existing database of digitally recorded signals may
-be useful for your studies. Four such databases are currently available on
-CD-ROM (the MIT-BIH Arrhythmia Database, the European ST-T Database, the
-MIT-BIH Polysomnographic Database, and the MGH/MF Waveform Database), and
-several more databases in this format are in preparation. These disks are
-compatible with any CD-ROM drive.
-
Note that the \WAVE{} host
\index{WAVE host@\WAVE{} host}
must be able
@@ -4931,6 +4921,25 @@
flash memory cards.
\end{itemize}
+\index{CD-ROM}\index{MIT-BIH Arrhythmia Database} \index{European ST-T
+Database}\index{MIT-BIH Polysomnographic Database} \index{MGH/MF
+Waveform Database} You may also find that an existing database of
+digitally recorded signals may be useful for your studies. PhysioNet, at
+\htmladdnormallink{http://www.physionet.org/,}{http:/www.physionet.org/},
+offers free on-line access to over 30 such databases with thousands of
+recordings ranging in length from a few seconds to several days.
+These include all or most of the MIT-BIH Arrhythmia Database, the
+European ST-T Database, the MIT-BIH Polysomnographic Database, the
+MGH/MF Waveform Database, and the Long-Term ST Database (which are
+also available on CD-ROMs from their creators), and many other
+databases available only via PhysioNet. \WAVE{} can read these
+databases directly from PhysioNet without downloading them first (the
+WFDB library, which handles reading and writing data for \WAVE{},
+contains HTTP client code that permits applications such as \WAVE{} to
+read input with equal ease from local disks or remote web servers).
+This is an excellent way to explore PhysioBank (PhysioNet's collection
+of signal databases).
+
\section{About Linux}
\label{sec:linux}
@@ -6368,14 +6377,18 @@
and the original unfiltered signals side-by-side), another approach is
to create a single header file that names the signal files for both
records. It is not necessary for all signals to be in the same signal
-file, or even on the same disk drive. In this case, however, the total
-number of open signals must be 32 or less (see the next question).
+file, or even on the same disk drive.
\subsection{Can \WAVE{} open more than 32 signals in a window at once?}
Yes. There is no fixed limit on the number of signals that current versions
of \WAVE{} can open. Earlier versions were limited to 32 or fewer signals.
+If the signal window gets to be too crowded, select a subset of
+signals to be displayed by editing the signal list (in \WAVE{}'s {\sf
+Analyze} window, and choose {\sf Draw: listed signals only} in the
+{\sf View} window.
+
\subsection{Can \WAVE{} open more than one annotation file in a window at once?}
No. In most cases, however, it's not really necessary to do so.
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/lib/annot.c wfdb-10.3.10/lib/annot.c
--- wfdb-10.3.9/lib/annot.c 2003-07-16 20:10:04.000000000 -0400
+++ wfdb-10.3.10/lib/annot.c 2003-08-03 20:13:45.000000000 -0400
@@ -1,5 +1,5 @@
/* file: annot.c G. Moody 13 April 1989
- Last revised: 16 July 2003 wfdblib 10.3.9
+ Last revised: 3 August 2003 wfdblib 10.3.10
WFDB library functions for annotations
_______________________________________________________________________________
@@ -694,7 +694,7 @@
char *string;
{
if (NOTQRS <= code && code <= ACMAX) {
- if (strcmp(cstring[code], string)) {
+ if (cstring[code] == NULL || strcmp(cstring[code], string)) {
char *p = malloc(strlen(string)+1);
if (p) strcpy(cstring[code] = p, string);
}
@@ -746,7 +746,7 @@
char *string;
{
if (0 < code && code <= ACMAX) {
- if (strcmp(astring[code], string)) {
+ if (astring[code] == NULL || strcmp(astring[code], string)) {
char *p = malloc(strlen(string)+1);
if (p) {
strcpy(astring[code] = p, string);
@@ -756,7 +756,7 @@
return (0);
}
else if (-ACMAX < code && code <= 0) {
- if (strcmp(astring[-code], string)) {
+ if (astring[-code] == NULL || strcmp(astring[-code], string)) {
char *p = malloc(strlen(string)+1);
if (p) strcpy(astring[-code] = p, string);
}
@@ -835,7 +835,7 @@
char *string;
{
if (0 < code && code <= ACMAX) {
- if (strcmp(tstring[code], string)) {
+ if (tstring[code] == NULL || strcmp(tstring[code], string)) {
char *p = malloc(strlen(string)+1);
if (p) {
strcpy(tstring[code] = p, string);
@@ -845,7 +845,7 @@
return (0);
}
else if (-ACMAX < code && code <= 0) {
- if (strcmp(tstring[-code], string)) {
+ if (tstring[-code] == NULL || strcmp(tstring[-code], string)) {
char *p = malloc(strlen(string)+1);
if (p) strcpy(tstring[-code] = p, string);
}
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/lib/wfdb.h0 wfdb-10.3.10/lib/wfdb.h0
--- wfdb-10.3.9/lib/wfdb.h0 2003-07-16 20:07:06.000000000 -0400
+++ wfdb-10.3.10/lib/wfdb.h0 2003-08-03 20:28:04.000000000 -0400
@@ -1,5 +1,5 @@
/* file: wfdb.h G. Moody 13 June 1983
- Last revised: 16 July 2003 wfdblib 10.3.9
+ Last revised: 3 August 2003 wfdblib 10.3.10
WFDB library type, constant, structure, and function interface definitions
_______________________________________________________________________________
@@ -33,7 +33,7 @@
/* WFDB library version. */
#define WFDB_MAJOR 10
#define WFDB_MINOR 3
-#define WFDB_RELEASE 9
+#define WFDB_RELEASE 10
#define WFDB_NETFILES 1 /* if 1, library includes code for HTTP, FTP clients */
/* Determine what type of compiler is being used. */
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/lib/wfdbio.c wfdb-10.3.10/lib/wfdbio.c
--- wfdb-10.3.9/lib/wfdbio.c 2003-07-16 21:38:30.000000000 -0400
+++ wfdb-10.3.10/lib/wfdbio.c 2003-08-03 21:11:17.000000000 -0400
@@ -562,7 +562,7 @@
(void)strcpy(t, wfdbpath);
t[l++] = PSEP; /* append a path separator */
(void)strncpy(t+l, s, i); /* append the new path component */
- t[l+i+1] = '\0';
+ t[l+i] = '\0';
setwfdb(t);
free(t);
}
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/NEWS wfdb-10.3.10/NEWS
--- wfdb-10.3.9/NEWS 2003-07-16 22:30:19.000000000 -0400
+++ wfdb-10.3.10/NEWS 2003-08-03 21:16:23.000000000 -0400
@@ -1,3 +1,14 @@
+10.3.10:
+ In version 10.3.9, the functions setannstr, setanndesc, and setecgstr
+ (in lib/annot.c) did not contain necessary checks to avoid invoking
+ strcmp with a NULL argument. These checks have been added in version
+ 10.3.10. In the internal function wfdb_addtopath (in lib/wfdbio.c),
+ an extra character was appended when adding a component to the WFDB
+ path (in version 10.3.9 only); this has also been corrected.
+
+ WAVE now incorporates a simplified method for synchronizing multiple
+ windows. The WAVE version number has been changed from 6.6 to 6.7.
+
10.3.9:
The WFDB library functions setwfdb, setannstr, setanndesc, and
setecgstr now copy their input string arguments, so that it is
diff -Naur --exclude Makefile --exclude info wfdb-10.3.9/wave/edit.c wfdb-10.3.10/wave/edit.c
--- wfdb-10.3.9/wave/edit.c 2003-02-12 10:49:57.000000000 -0500
+++ wfdb-10.3.10/wave/edit.c 2003-07-24 03:16:45.000000000 -0400
@@ -1,5 +1,5 @@
/* file: edit.c G. Moody 1 May 1990
- Last revised: 12 February 2003
+ Last revised: 24 July 2003
Annotation-editing functions for WAVE
-------------------------------------------------------------------------------
@@ -859,23 +859,27 @@
3. If the key is depressed, select the signal nearest
the pointer, delete its first occurrence (if any) in the
signal list, and return.
- 4. If the middle button is down, switch the annotation
+ 4. If annotation editing is disabled and if this instance of
+ WAVE has a sync button, signal other WAVE processes to
+ recenter their signal windows at the time indicated by
+ the mouse, and return.
+ 5. If the middle button is down, switch the annotation
template to the previous entry in the annotation template
buffer.
- 5. Make the annotation template popup visible.
- 6. If the middle or right button is down, or if there are no
+ 6. Make the annotation template popup visible.
+ 7. If the middle or right button is down, or if there are no
annotations left of the pointer, return.
- 7. If annotations are shown attached to signals, and the
+ 8. If annotations are shown attached to signals, and the
pointer is in a selection box, attach the previous
annotation.
- 8. If annotations are shown attached to signals, and the
+ 9. If annotations are shown attached to signals, and the
pointer is not in a selection box, attach the closest
annotation to the left of the pointer.
- 9. Otherwise, find the previous group of simultaneous
+ 10. Otherwise, find the previous group of simultaneous
annotations and attach the first annotation of that group.
- 10. Recenter the display around the attached annotation, if
+ 11. Recenter the display around the attached annotation, if
it is not currently displayed.
- 11. Draw marker bars above and below the attached annotation.
+ 12. Draw marker bars above and below the attached annotation.
*/
if (event_shift_is_down(event) ||
event_ctrl_is_down(event) ||
@@ -896,6 +900,13 @@
break;
}
dragged = 0;
+ if (accept_edit == 0 && wave_ppid) {
+ char buf[80];
+ sprintf(buf, "wave-remote -pid %d -f '%s'\n", wave_ppid,
+ mstimstr(-t));
+ system(buf);
+ break;
+ }
if (middle_down) set_prev_ann_template();
show_ann_template();
if (middle_down || right_down) break;
@@ -1013,17 +1024,18 @@
/* The middle button was pressed:
1. If the left or right button is down, ignore this event.
2. Draw marker bars above and below the pointer.
- 3. If the