[apktool] 03/08: Add LEDataInputStream.patch

Markus Koschany apo-guest at moszumanska.debian.org
Thu Mar 24 20:01:10 UTC 2016


This is an automated email from the git hooks/post-receive script.

apo-guest pushed a commit to branch master
in repository apktool.

commit f943fcb05ae637550d3a4bda4e9062a73e360c81
Author: Markus Koschany <apo at debian.org>
Date:   Mon Mar 7 22:12:21 2016 +0100

    Add LEDataInputStream.patch
---
 debian/patches/LEDataInputStream.patch | 346 +++++++++++++++++++++++++++++++++
 debian/patches/series                  |   1 +
 2 files changed, 347 insertions(+)

diff --git a/debian/patches/LEDataInputStream.patch b/debian/patches/LEDataInputStream.patch
new file mode 100644
index 0000000..8abb665
--- /dev/null
+++ b/debian/patches/LEDataInputStream.patch
@@ -0,0 +1,346 @@
+From: Markus Koschany <apo at debian.org>
+Date: Mon, 7 Mar 2016 22:11:57 +0100
+Subject: LEDataInputStream
+
+---
+ .../mindprod/ledatastream/LEDataInputStream.java   | 330 +++++++++++++++++++++
+ 1 file changed, 330 insertions(+)
+ create mode 100644 brut.apktool/apktool-lib/src/main/java/com/mindprod/ledatastream/LEDataInputStream.java
+
+diff --git a/brut.apktool/apktool-lib/src/main/java/com/mindprod/ledatastream/LEDataInputStream.java b/brut.apktool/apktool-lib/src/main/java/com/mindprod/ledatastream/LEDataInputStream.java
+new file mode 100644
+index 0000000..b650e4b
+--- /dev/null
++++ b/brut.apktool/apktool-lib/src/main/java/com/mindprod/ledatastream/LEDataInputStream.java
+@@ -0,0 +1,330 @@
++/*
++ * @(#)LEDataInputStream.java
++ *
++ * Summary: Little-Endian version of DataInputStream.
++ *
++ * Copyright: (c) 1998-2010 Roedy Green, Canadian Mind Products, http://mindprod.com
++ *
++ * Licence: This software may be copied and used freely for any purpose but military.
++ *          http://mindprod.com/contact/nonmil.html
++ *
++ * Requires: JDK 1.1+
++ *
++ * Created with: IntelliJ IDEA IDE.
++ *
++ * Version History:
++ *  1.8 2007-05-24
++ */
++package com.mindprod.ledatastream;
++
++import java.io.DataInput;
++import java.io.DataInputStream;
++import java.io.IOException;
++import java.io.InputStream;
++
++/**
++ * Little-Endian version of DataInputStream.
++ * <p/>
++ * Very similar to DataInputStream except it reads little-endian instead of
++ * big-endian binary data. We can't extend DataInputStream directly since it has
++ * only final methods, though DataInputStream itself is not final. This forces
++ * us implement LEDataInputStream with a DataInputStream object, and use wrapper
++ * methods.
++ * 
++ * @author Roedy Green, Canadian Mind Products
++ * @version 1.8 2007-05-24
++ * @since 1998
++ */
++public final class LEDataInputStream implements DataInput {
++	// ------------------------------ CONSTANTS ------------------------------
++
++	/**
++	 * undisplayed copyright notice.
++	 * 
++	 * @noinspection UnusedDeclaration
++	 */
++	private static final String EMBEDDED_COPYRIGHT = "copyright (c) 1999-2010 Roedy Green, Canadian Mind Products, http://mindprod.com";
++
++	// ------------------------------ FIELDS ------------------------------
++
++	/**
++	 * to get at the big-Endian methods of a basic DataInputStream
++	 * 
++	 * @noinspection WeakerAccess
++	 */
++	protected final DataInputStream dis;
++
++	/**
++	 * to get at the a basic readBytes method.
++	 * 
++	 * @noinspection WeakerAccess
++	 */
++	protected final InputStream is;
++
++	/**
++	 * work array for buffering input.
++	 * 
++	 * @noinspection WeakerAccess
++	 */
++	protected final byte[] work;
++
++	// -------------------------- PUBLIC STATIC METHODS
++	// --------------------------
++
++	/**
++	 * Note. This is a STATIC method!
++	 * 
++	 * @param in
++	 *            stream to read UTF chars from (endian irrelevant)
++	 * 
++	 * @return string from stream
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	public static String readUTF(DataInput in) throws IOException {
++		return DataInputStream.readUTF(in);
++	}
++
++	// -------------------------- PUBLIC INSTANCE METHODS
++	// --------------------------
++
++	/**
++	 * constructor.
++	 * 
++	 * @param in
++	 *            binary inputstream of little-endian data.
++	 */
++	public LEDataInputStream(InputStream in) {
++		this.is = in;
++		this.dis = new DataInputStream(in);
++		work = new byte[8];
++	}
++
++	/**
++	 * close.
++	 * 
++	 * @throws IOException
++	 *             if close fails.
++	 */
++	public final void close() throws IOException {
++		dis.close();
++	}
++
++	/**
++	 * Read bytes. Watch out, read may return fewer bytes than requested.
++	 * 
++	 * @param ba
++	 *            where the bytes go.
++	 * @param off
++	 *            offset in buffer, not offset in file.
++	 * @param len
++	 *            count of bytes to read.
++	 * 
++	 * @return how many bytes read.
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	public final int read(byte ba[], int off, int len) throws IOException {
++		// For efficiency, we avoid one layer of wrapper
++		return is.read(ba, off, len);
++	}
++
++	/**
++	 * read only a one-byte boolean.
++	 * 
++	 * @return true or false.
++	 * @throws IOException
++	 *             if read fails.
++	 * @see java.io.DataInput#readBoolean()
++	 */
++	@Override
++	public final boolean readBoolean() throws IOException {
++		return dis.readBoolean();
++	}
++
++	/**
++	 * read byte.
++	 * 
++	 * @return the byte read.
++	 * @throws IOException
++	 *             if read fails.
++	 * @see java.io.DataInput#readByte()
++	 */
++	@Override
++	public final byte readByte() throws IOException {
++		return dis.readByte();
++	}
++
++	/**
++	 * Read on char. like DataInputStream.readChar except little endian.
++	 * 
++	 * @return little endian 16-bit unicode char from the stream.
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	@Override
++	public final char readChar() throws IOException {
++		dis.readFully(work, 0, 2);
++		return (char) ((work[1] & 0xff) << 8 | (work[0] & 0xff));
++	}
++
++	/**
++	 * Read a double. like DataInputStream.readDouble except little endian.
++	 * 
++	 * @return little endian IEEE double from the datastream.
++	 * @throws IOException
++	 */
++	@Override
++	public final double readDouble() throws IOException {
++		return Double.longBitsToDouble(readLong());
++	}
++
++	/**
++	 * Read one float. Like DataInputStream.readFloat except little endian.
++	 * 
++	 * @return little endian IEEE float from the datastream.
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	@Override
++	public final float readFloat() throws IOException {
++		return Float.intBitsToFloat(readInt());
++	}
++
++	/**
++	 * Read bytes until the array is filled.
++	 * 
++	 * @see java.io.DataInput#readFully(byte[])
++	 */
++	@Override
++	public final void readFully(byte ba[]) throws IOException {
++		dis.readFully(ba, 0, ba.length);
++	}
++
++	/**
++	 * Read bytes until the count is satisfied.
++	 * 
++	 * @throws IOException
++	 *             if read fails.
++	 * @see java.io.DataInput#readFully(byte[],int,int)
++	 */
++	@Override
++	public final void readFully(byte ba[], int off, int len) throws IOException {
++		dis.readFully(ba, off, len);
++	}
++
++	/**
++	 * Read an int, 32-bits. Like DataInputStream.readInt except little endian.
++	 * 
++	 * @return little-endian binary int from the datastream
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	@Override
++	public final int readInt() throws IOException {
++		dis.readFully(work, 0, 4);
++		return (work[3]) << 24 | (work[2] & 0xff) << 16 | (work[1] & 0xff) << 8
++				| (work[0] & 0xff);
++	}
++
++	/**
++	 * Read a line.
++	 * 
++	 * @return a rough approximation of the 8-bit stream as a 16-bit unicode
++	 *         string
++	 * @throws IOException
++	 * @noinspection deprecation
++	 * @deprecated This method does not properly convert bytes to characters.
++	 *             Use a Reader instead with a little-endian encoding.
++	 */
++	@Deprecated
++	@Override
++	public final String readLine() throws IOException {
++		return dis.readLine();
++	}
++
++	/**
++	 * read a long, 64-bits. Like DataInputStream.readLong except little endian.
++	 * 
++	 * @return little-endian binary long from the datastream.
++	 * @throws IOException
++	 */
++	@Override
++	public final long readLong() throws IOException {
++		dis.readFully(work, 0, 8);
++		return (long) (work[7]) << 56 |
++		/* long cast needed or shift done modulo 32 */
++		(long) (work[6] & 0xff) << 48 | (long) (work[5] & 0xff) << 40
++				| (long) (work[4] & 0xff) << 32 | (long) (work[3] & 0xff) << 24
++				| (long) (work[2] & 0xff) << 16 | (long) (work[1] & 0xff) << 8
++				| work[0] & 0xff;
++	}
++
++	/**
++	 * Read short, 16-bits. Like DataInputStream.readShort except little endian.
++	 * 
++	 * @return little endian binary short from stream.
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	@Override
++	public final short readShort() throws IOException {
++		dis.readFully(work, 0, 2);
++		return (short) ((work[1] & 0xff) << 8 | (work[0] & 0xff));
++	}
++
++	/**
++	 * Read UTF counted string.
++	 * 
++	 * @return String read.
++	 */
++	@Override
++	public final String readUTF() throws IOException {
++		return dis.readUTF();
++	}
++
++	/**
++	 * Read an unsigned byte. Note: returns an int, even though says Byte
++	 * (non-Javadoc)
++	 * 
++	 * @throws IOException
++	 *             if read fails.
++	 * @see java.io.DataInput#readUnsignedByte()
++	 */
++	@Override
++	public final int readUnsignedByte() throws IOException {
++		return dis.readUnsignedByte();
++	}
++
++	/**
++	 * Read an unsigned short, 16 bits. Like DataInputStream.readUnsignedShort
++	 * except little endian. Note, returns int even though it reads a short.
++	 * 
++	 * @return little-endian int from the stream.
++	 * @throws IOException
++	 *             if read fails.
++	 */
++	@Override
++	public final int readUnsignedShort() throws IOException {
++		dis.readFully(work, 0, 2);
++		return ((work[1] & 0xff) << 8 | (work[0] & 0xff));
++	}
++
++	/**
++	 * Skip over bytes in the stream. See the general contract of the
++	 * <code>skipBytes</code> method of <code>DataInput</code>.
++	 * <p/>
++	 * Bytes for this operation are read from the contained input stream.
++	 * 
++	 * @param n
++	 *            the number of bytes to be skipped.
++	 * 
++	 * @return the actual number of bytes skipped.
++	 * @throws IOException
++	 *             if an I/O error occurs.
++	 */
++	@Override
++	public final int skipBytes(int n) throws IOException {
++		return dis.skipBytes(n);
++	}
++}
+\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
index 0f1d6c2..e040397 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 use_system_aapt.patch
 build.patch
+LEDataInputStream.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/apktool.git



More information about the pkg-java-commits mailing list