diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/app/gqfuse.c wfdb-10.5.15/app/gqfuse.c
--- wfdb-10.5.14/app/gqfuse.c	2012-05-07 03:42:34.000000000 -0400
+++ wfdb-10.5.15/app/gqfuse.c	2012-09-25 12:18:33.000000000 -0400
@@ -1,5 +1,5 @@
 /* file: gqfuse.c		G. Moody	6 May 2012
-				Last revised:	7 May 2012
+				Last revised:  25 September 2012
 -------------------------------------------------------------------------------
 gqfuse: combine QRS annotation files
 Copyright (C) 2012 George B. Moody
@@ -260,23 +260,13 @@
    A more detailed summary is in the man page (gqpost.1). */
 
 static char *help_strings[] = {
- "usage: %s -r RECORD [OPTIONS ...]\n",
- "where RECORD is the name of the record to be analyzed, and OPTIONS may",
- "include any of:",
- " -a ANNOTATOR read annotations from the specified ANNOTATOR (default: qrs)",
- " -c FILE     initialize parameters from the specified configuration FILE",
- " -f TIME     begin processing at specified time",
- " -h          print this usage summary",
- " -H          read multifrequency signals in high resolution mode",
- " -m THRESH   set interpolated event acceptance threshold to THRESH",
- "              (default: 1)",
- " -o ANNOTATOR write annotations to the specified ANNOTATOR (default: gqp)",
- " -t TIME     stop processing at specified time",
- "If too many true beats are rejected, decrease THRESH;  if too many false",
- "detections are accepted, increase THRESH.",
- "Note that the output is a complete copy of the input (with rejected events",
- "flagged as ARFCT).  The -f and -t options only limit the interval during",
- "which events may be rejected.",
+ "usage: %s -r RECORD -a ANNOTATOR ANNOTATOR ... [OPTIONS ...]\n",
+ "where RECORD is the name of the record to be analyzed, two or more",
+ "ANNOTATOR arguments specify annotation sets to be read and fused, and",
+ "OPTIONS may include any of:",
+ " -c FILE       initialize parameters from the specified configuration FILE",
+ " -h            print this usage summary",
+ " -o ANNOTATOR  write annotations to the specified ANNOTATOR (default: gqf)",
 NULL
 };
 
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/doc/wag-src/gqfuse.1 wfdb-10.5.15/doc/wag-src/gqfuse.1
--- wfdb-10.5.14/doc/wag-src/gqfuse.1	1969-12-31 19:00:00.000000000 -0500
+++ wfdb-10.5.15/doc/wag-src/gqfuse.1	2012-09-25 12:14:16.000000000 -0400
@@ -0,0 +1,62 @@
+.TH GQFUSE 1 "25 September 2012" "WFDB 10.5.15" "WFDB Applications Guide"
+.SH NAME
+gqfuse \- combine QRS annotation files
+.SH SYNOPSIS
+\fBgqfuse -r\fR \fIrecord\fR -a \fIannotator1 annotator2 ...\fR [ \fIoptions\fR ... ]
+.SH DESCRIPTION
+.PP
+\fBgqfuse\fR produces a QRS annotation file based on two or more input QRS
+annotation files with annotator names \fIannotator1\fR, \fIannotator2\fR, etc.
+Each one-minute segment of the output annotation file is a copy of the
+corresponding segment of one of the input annotation files.  In each segment,
+the program copies the input that best matches a predicted heart rate.  If
+there are N inputs, the prediction is the median of N+1 values (the previous
+prediction and the number of beats marked within the current segment of each of
+the N input files).  Although this process allows the input to be switched once
+per minute, the policy for resolving ties (within 2 beats) favors not switching
+if the previously chosen input is one of those belonging to the tie.
+.PP
+As its name suggests, \fBgqfuse\fR is intended to be used as a companion to the
+\fBgqrs\fR(1) QRS detector, but it is able to process annotations from any beat
+detector.  Non-beat annotations (e.g., rhythm, signal quality, artifact,
+non-QRS waveforms, and notes) are copied to the output if present in the best
+matching input segments, but they are not counted as beats by \fBgqfuse\fR when
+it makes heart rate predictions.
+.PP
+One way to use \fBgqfuse\fR is to combine input annotation files for each
+available ECG signal in a record, made using a single detector such as
+\fBgqrs\fR.  Another is to combine input annotation files made using a
+variety of QRS detectors.  These ideas can be combined as desired.
+.PP
+A configuration file, which can be shared with \fBgqrs\fR and \fBgqpost\fR(1),
+can be used to specify the expected heart rate.  (In future versions, other
+parameters in the configuration file may also be used by \fBgqfuse\fR).  The
+configuration file is unnecessary when processing adult human ECGs, but an
+appropriately constructed configuration file allows \fBgqrs\fR to analyze
+fetal, pediatric, and animal ECGs.
+.PP
+\fIOptions\fR include:
+.TP
+\fB-c\fR \fIfile\fR
+Initialize parameters based on the specified (text) configuration
+\fIfile\fR.  See the example configuration file, \fIgqrs.conf\fR, for details.
+.TP
+\fB-h\fR
+Print a usage summary.
+.TP
+\fB-o\fR \fIname\fR
+Write annotations to an annotation file with the specified annotator \fIname\fR
+(default: \fBgqf\fR).
+.SH ENVIRONMENT
+.PP
+It may be necessary to set and export the shell variable \fBWFDB\fR (see
+\fBsetwfdb\fR(1)).
+.SH SEE ALSO
+\fBgqrs\fR(1), \fBecgpuwave\fR(1), \fBsetwfdb\fR(1),
+\fBsqrs\fR(1), \fBwqrs\fR(1)
+.SH AUTHORS
+George B. Moody (george@mit.edu).
+.SH SOURCES
+http://www.physionet.org/physiotools/wfdb/app/gqfuse.c
+.br
+http://www.physionet.org/physiotools/wfdb/app/gqrs.conf
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/doc/wpg-src/wpg0.tex wfdb-10.5.15/doc/wpg-src/wpg0.tex
--- wfdb-10.5.14/doc/wpg-src/wpg0.tex	2012-08-13 17:35:48.000000000 -0400
+++ wfdb-10.5.15/doc/wpg-src/wpg0.tex	2012-09-25 11:27:48.000000000 -0400
@@ -9049,6 +9049,12 @@
 
 @unnumberedsec WFDB 10.5
 
+@unnumberedsubsec Changes in version 10.5.15 (25 September 2012)
+
+Changes to the internal function readheader() in WFDB library version
+10.5.14 made the library unable to open EDF files.  This bug has been
+fixed.
+
 @unnumberedsubsec Changes in version 10.5.14 (13 August 2012)
 
 WFDB applications can now read shared and private PhysioNetWorks projects
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/lib/signal.c wfdb-10.5.15/lib/signal.c
--- wfdb-10.5.14/lib/signal.c	2012-08-13 15:09:20.000000000 -0400
+++ wfdb-10.5.15/lib/signal.c	2012-09-25 12:51:10.000000000 -0400
@@ -1,5 +1,5 @@
 /* file: signal.c	G. Moody	13 April 1989
-			Last revised:   13 August 2012		wfdblib 10.5.14
+			Last revised:   25 September 2012	wfdblib 10.5.15
 WFDB library functions for signals
 
 _______________________________________________________________________________
@@ -806,16 +806,16 @@
 
     /* If the final component of the record name includes a '.', assume it is a
        file name. */
-    q = record + strlen(record) - 1;
-    while (p > q && *q != '.' && *q != '/' && *q != ':' && *q != '\\')
+    q = (char *)record + strlen(record) - 1;
+    while (q > record && *q != '.' && *q != '/' && *q != ':' && *q != '\\')
 	q--;
     if (*q == '.') {
-	if (strcmp(q+1, "hea"))	/* assume EDF if suffix is not '.hea' */
-	    return (edfparse(hheader));
-	else if ((hheader = wfdb_open(NULL, record, WFDB_READ)) == NULL) {
+	if ((hheader = wfdb_open(NULL, record, WFDB_READ)) == NULL) {
 	    wfdb_error("init: can't open %s\n", record);
 	    return (-1);
 	}
+	else if (strcmp(q+1, "hea"))	/* assume EDF if suffix is not '.hea' */
+	    return (edfparse(hheader));
     }
 
     /* Otherwise, assume the file name is record.hea. */
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/lib/wfdb.h wfdb-10.5.15/lib/wfdb.h
--- wfdb-10.5.14/lib/wfdb.h	2012-08-13 15:23:30.000000000 -0400
+++ wfdb-10.5.15/lib/wfdb.h	2012-09-25 12:52:07.000000000 -0400
@@ -32,7 +32,7 @@
 /* WFDB library version. */
 #define WFDB_MAJOR   10
 #define WFDB_MINOR   5
-#define WFDB_RELEASE 14
+#define WFDB_RELEASE 15
 #define WFDB_NETFILES 1	/* if 1, library includes code for HTTP, FTP clients */
 #define WFDB_NETFILES_LIBCURL 1
 
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/lib/wfdblib.h wfdb-10.5.15/lib/wfdblib.h
--- wfdb-10.5.14/lib/wfdblib.h	2012-08-13 15:34:10.000000000 -0400
+++ wfdb-10.5.15/lib/wfdblib.h	2012-09-25 12:52:07.000000000 -0400
@@ -96,9 +96,9 @@
    variable is not set.  This value is edited by the configuration script
    (../configure), which also edits this block of comments to match.
 
-   If WFDB_NETFILES support is disabled, the string ". /home/george/Desktop/wfdb-10.5.14/build/database" is
+   If WFDB_NETFILES support is disabled, the string ". /usr/local/database" is
    usually sufficient for a default WFDB path, thus restricting the search for
-   WFDB files to the current directory ("."), followed by /home/george/Desktop/wfdb-10.5.14/build/database).
+   WFDB files to the current directory ("."), followed by /usr/local/database).
    
    If WFDB_NETFILES support is enabled, the first setting below adds the
    web-accessible PhysioBank databases to the default path; you may wish to
@@ -107,9 +107,9 @@
 */
 
 #ifndef WFDB_NETFILES
-# define DEFWFDB	". /home/george/Desktop/wfdb-10.5.14/build/database"
+# define DEFWFDB	". /usr/local/database"
 #else
-# define DEFWFDB ". /home/george/Desktop/wfdb-10.5.14/build/database http://physionet.org/physiobank/database"
+# define DEFWFDB ". /usr/local/database http://physionet.org/physiobank/database"
 #endif
 
 /* Mac OS 9 and earlier, only:  The value of DEFWFDB given below specifies
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/MANIFEST wfdb-10.5.15/MANIFEST
--- wfdb-10.5.14/MANIFEST	2012-08-13 19:02:14.000000000 -0400
+++ wfdb-10.5.15/MANIFEST	2012-09-25 12:18:58.000000000 -0400
@@ -288,6 +288,7 @@
 doc/wag-src/fixag.sed
 doc/wag-src/fixag.sh
 doc/wag-src/getpagenos.c
+doc/wag-src/gqfuse.1
 doc/wag-src/gqrs.1
 doc/wag-src/header.5
 doc/wag-src/hrfft.1
diff -Naur --exclude Makefile --exclude info wfdb-10.5.14/NEWS wfdb-10.5.15/NEWS
--- wfdb-10.5.14/NEWS	2012-08-13 19:54:56.000000000 -0400
+++ wfdb-10.5.15/NEWS	2012-09-25 12:55:13.869811676 -0400
@@ -1,4 +1,12 @@
-10.5.14 (2 August 2012):
+10.5.15 (25 September 2012):
+	A new application (app/gqfuse.c) for combining two or more beat
+        annotation files is included in this release.
+
+	Changes to the internal function readheader() in WFDB library version
+	10.5.14 made the library unable to open EDF files.  This bug has been
+	fixed.	
+
+10.5.14 (13 August 2012):
 	WFDB applications can now read shared and private PhysioNetWorks
 	projects securely, just as they have been able to read PhysioBank
 	data since version 10.0.1 (November 1999).  A new shell script
@@ -31,7 +39,6 @@
 	to Justin Leo Cheang Loong for reporting this issue.
 
 10.5.12 (24 April 2012):
-
          When called with a NULL argument, getinfo() sometimes behaves
          differently in WFDB library version 10.5.11 than it does in previous
          versions.  This release restores the previous behavior.  Thanks to
