diff src/org/tmatesoft/hg/internal/FilterDataAccess.java @ 397:5e95b0da26f2 smartgit3

Issue 24: IAE, Underflow in FilterDataAccess. Issue 26:UnsupportedOperationException when patching empty base revision. Tests
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 23 Feb 2012 15:31:57 +0100
parents facfd8518367
children 6c22bdc0bdfd
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/internal/FilterDataAccess.java	Tue Feb 21 19:18:40 2012 +0100
+++ b/src/org/tmatesoft/hg/internal/FilterDataAccess.java	Thu Feb 23 15:31:57 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011 TMate Software Ltd
+ * Copyright (c) 2011-2012 TMate Software Ltd
  *  
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -88,7 +88,7 @@
 	@Override
 	public byte readByte() throws IOException {
 		if (count <= 0) {
-			throw new IllegalArgumentException("Underflow"); // XXX be descriptive
+			throw new IOException(String.format("Underflow. Bytes left: %d. FilterDA[offset: %d, length: %d]", count, offset, length));
 		}
 		if (count == length) {
 			dataAccess.seek(offset);
@@ -103,7 +103,7 @@
 			return;
 		}
 		if (count <= 0 || len > count) {
-			throw new IllegalArgumentException(String.format("Underflow. Bytes left: %d, asked to read %d", count, len));
+			throw new IOException(String.format("Underflow. Bytes left: %d, asked to read %d. FilterDA[offset: %d, length: %d]", count, len, offset, length));
 		}
 		if (count == length) {
 			dataAccess.seek(offset);