diff options
| author | Bdale Garbee <bdale@gag.com> | 2017-08-12 00:59:03 -0400 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2017-08-12 00:59:03 -0400 | 
| commit | 59c6167b9f1e9de30455af1632e9a0b65d64ad63 (patch) | |
| tree | d27e4b3df53300081aa6ac0a30820c58a1c968ef /altoslib/AltosStringInputStream.java | |
| parent | 41eedf88751910ea9c0a299444fbac769edb8427 (diff) | |
| parent | fccfa54bb3b746cecfcdc1fd497cf736bbfe3ef3 (diff) | |
Merge branch 'branch-1.8' into debian
Diffstat (limited to 'altoslib/AltosStringInputStream.java')
| -rw-r--r-- | altoslib/AltosStringInputStream.java | 61 | 
1 files changed, 61 insertions, 0 deletions
diff --git a/altoslib/AltosStringInputStream.java b/altoslib/AltosStringInputStream.java new file mode 100644 index 00000000..48fff3ea --- /dev/null +++ b/altoslib/AltosStringInputStream.java @@ -0,0 +1,61 @@ +/* + * Copyright © 2017 Keith Packard <keithp@keithp.com> + * + * 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + */ + +package org.altusmetrum.altoslib_12; + +import java.util.*; +import java.io.*; + +public class AltosStringInputStream extends InputStream { + +	String	s; +	int	at; +	int	mark; + +	public int available() { +		return s.length() - at; +	} + +	public void mark(int read_limit) { +		mark = at; +	} + +	public boolean markSupported() { +		return true; +	} + +	public int read() { +		if (at == s.length()) +			return -1; +		return (int) s.charAt(at++); +	} + +	public void reset() { +		at = mark; +	} + +	public long skip(long n) throws IOException { +		if (n < 0) n = 0; + +		if (at + n > s.length()) +			n = s.length() - at; +		at += n; +		return n; +	} + +	public AltosStringInputStream(String s) { +		this.s = s; +		this.at = 0; +	} +}  | 
