[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

WFDB 10.5


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.6 (16 December 2010)

When opening records with the same name in different directories successively within a single process, the persistence of WFDB path changes made by WFDB library function wfdb_addtopath() interfered with locating the correct files in the second and subsequent records. The solution included addition of a new WFDB library function, resetwfdb(), which restores the WFDB path to the value returned by the first invocation of getwfdb() in the current process (or NULL if getwfdb() has not been invoked); library function wfdbquit() now invokes resetwfdb(). In addition, the safe-string copy macro SSTRCPY (defined in wfdb.h) now properly handles the case of copying null pointers. Thanks to Benjamin Moody for identifying the problem, providing test inputs, and contributions to the solution.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.6 (29 November 2010)

WFDB records with names of the form ‘nnn/nnn’ can now be identified using the short form ‘nnn/’ in applications built using the WFDB library (e.g., rdsamp -r mimicdb/037/ and rdsamp -r mimicdb/037/037 are now equivalent).

In ‘<wfdb.h>’, the maximum lengths of record names, units strings, and signal description (‘.desc’) strings have been increased (to 50, 50, and 100 characters respectively). In ‘lib/wfdbio.c’, the maximum length of a WFDB file name (including path information) has been increased to 1024 characters.

(WFDB library version 10.5.5 was identical to version 10.5.4.)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.4 (13 July 2010)

Function getseginfo() has been introduced in WFDB library version 10.5.4, to allow applications to obtain information about the segments belonging to the current (multi-segment) input record.

In previous versions, integer arithmetic overflow was possible when converting format 32 samples using aduphys(), if the difference between the baseline value and the sample to be converted exceeded the range of signed 32-bit integers. Although rdsamp does not use aduphys() similar code in rdsamp also exhibited this problem, which has now been corrected; thanks to Ikaro Silva for reporting it and providing a test case.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.3 (22 June 2010)

Function getgvmode() has been introduced in WFDB library version 10.5.3, to allow querying the current operating mode of getvec().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.2 (18 April 2010)

When reading annotations of multifrequency records opened in high-resolution mode, a time shift was introduced by getann() in WFDB library versions 10.4.5 to 10.5.1. This problem has been corrected in 10.5.2.

Certain malformed segment .hea files were able to cause null pointer errors in isigopen(). This problem has been corrected. Thanks to Mauro Villarroel for reporting this problem together with a test case.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.1 (19 March 2010)

In version 10.5.0, signals in formats 80 and 160 with amplitudes of 0 were incorrectly treated as invalid by getframe() and getvec(). Thanks to Isaac Henry for reporting this problem, which has been corrected in ‘lib/signal.c’.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Changes in version 10.5.0 (16 March 2010)

The WFDB library now supports signals with 24 and 32 bits of precision, using new formats 24 and 32, as well as BDF and BDF+ files (24-bit EDF and EDF+ variants), so that WFDB applications can now read these formats. Note that these formats, unlike all previously defined formats, require more than 16 bits per sample value. If the WFDB software is compiled on a 16-bit platform (unusual except for embedded processors), the excess high bits of signals in these formats are not read on input, and they are replaced by zeroes on output, unless the WFDB_Sample data type has been redefined as long (in ‘wfdb.h’). This is not done by default since it would increase memory and computational requirements unnecessarily in embedded applications that do not require 24- or 32-bit precision.

Since support for extended precision samples cannot be introduced without this limitation in backward compatibility for 16-bit platforms, the minor version number of the library has been incremented to 5. Most users will not be affected by this change, however, apart from the new functionality it provides.

Memory allocation macros that have been defined previously in ‘wfdblib.h’ have been moved to ‘wfdb.h’ so they are accessible to WFDB applications, including user-written applications. For information about using these macros (MEMERR, SFREE, SUALLOC, SALLOC, SREALLOC, and SSTRCPY), see section Memory Allocation Macros.

A buffer overflow in the WFDB library's internal function edfparse() (in ‘signal.c’) has been corrected, thanks to a bug report and patch from Joonas Paalasmaa.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

George B. Moody (george@mit.edu)