Commit in lcio/src/java/hep/lcio/util on MAIN
MergeUtil.java+18-21.7 -> 1.8
JM: End the job and discard the bad event when any input files reaches EOF.

lcio/src/java/hep/lcio/util
MergeUtil.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- MergeUtil.java	1 Feb 2007 19:38:16 -0000	1.7
+++ MergeUtil.java	1 Feb 2007 20:50:11 -0000	1.8
@@ -24,7 +24,7 @@
  * application of a delta time.
  * 
  * @author jeremym
- * @version $Id: MergeUtil.java,v 1.7 2007/02/01 19:38:16 jeremy Exp $
+ * @version $Id: MergeUtil.java,v 1.8 2007/02/01 20:50:11 jeremy Exp $
  */
 abstract public class MergeUtil
 {
@@ -47,6 +47,8 @@
 
 		// Count of total merged events that were created.
 		int nevents = 0;
+		
+		boolean done=false;
 
 		// File read loop.
 		for (;;)
@@ -88,6 +90,18 @@
 				// Merge ntoread events from this reader into target,
 				// using starting time of startt, delta time of dt.
 				int nmerged = MergeUtil.mergeEvents(targetEvent, reader, ntoread, setEventHeader, startt, dt);
+				
+				// Check if the input file ran out of events.
+				if (nmerged==0) {
+				
+					System.out.println("EOF on <"+mfile.file().getCanonicalPath()+">.  This merge event will be discarded.");
+				
+					// Invalidate this event.
+					totmerged=0;
+					
+					// Stop processing this event.
+					break;
+				}
 
 				// Increment total merged.
 				totmerged += nmerged;
@@ -96,7 +110,9 @@
 				setEventHeader = false;
 			}
 
-			// Write out the combined event if something got merged in.
+			// Write out the combined event if it is valid.
+			// The totmerged counter will be reset if any
+			// of the input events runs out of events.
 			if (totmerged > 0)
 			{
 				writer.writeEvent(targetEvent);
CVSspam 0.2.8