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

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

commit 0f456d20340f5a1b15dc56fc163e073ca52a3f8f
Author: Markus Koschany <[email protected]>
Date:   Tue Feb 16 12:48:52 2016 +0100

    Add LEDataInputStream.java.patch
---
 debian/patches/LEDataInputStream.java.patch | 201 ++++++++++++++++++++++++++++
 debian/patches/series                       |   1 +
 2 files changed, 202 insertions(+)

diff --git a/debian/patches/LEDataInputStream.java.patch 
b/debian/patches/LEDataInputStream.java.patch
new file mode 100644
index 0000000..2dd33a5
--- /dev/null
+++ b/debian/patches/LEDataInputStream.java.patch
@@ -0,0 +1,201 @@
+From: Markus Koschany <[email protected]>
+Date: Tue, 16 Feb 2016 12:48:39 +0100
+Subject: LEDataInputStream.java
+
+---
+ .../mindprod/ledatastream/LEDataInputStream.java   | 186 +++++++++++++++++++++
+ 1 file changed, 186 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..293cb1d
+--- /dev/null
++++ 
b/brut.apktool/apktool-lib/src/main/java/com/mindprod/ledatastream/LEDataInputStream.java
+@@ -0,0 +1,186 @@
++/*******************************************************************************
++ * Copyright (c) 2000, 2011 IBM Corporation and others.
++ * All rights reserved. This program and the accompanying materials
++ * are made available under the terms of the Eclipse Public License v1.0
++ * which accompanies this distribution, and is available at
++ * http://www.eclipse.org/legal/epl-v10.html
++ *
++ * Contributors:
++ *     IBM Corporation - initial API and implementation
++ 
*******************************************************************************/
++package com.mindprod.ledatastream;
++
++
++import java.io.*;
++
++public final class LEDataInputStream extends InputStream {
++      int position;
++      InputStream in;
++
++      /**
++       * The byte array containing the bytes to read.
++       */
++      protected byte[] buf;
++      
++      /**
++       * The current position within the byte array <code>buf</code>. A value
++       * equal to buf.length indicates no bytes available.  A value of
++       * 0 indicates the buffer is full.
++       */
++      protected int pos;
++      
++
++      public LEDataInputStream(InputStream input) {
++              this(input, 512);
++      }
++      
++      public LEDataInputStream(InputStream input, int bufferSize) {
++              this.in = input;
++              if (bufferSize > 0) {
++                      buf = new byte[bufferSize];
++                      pos = bufferSize;
++              } 
++              else throw new IllegalArgumentException();
++      }
++      
++      public void close() throws IOException {
++              buf = null;
++              if (in != null) {
++                      in.close();
++                      in = null;
++              }
++      }
++      
++      /**
++       * Answer how many bytes were read.
++       */
++      public int getPosition() {
++              return position;
++      }
++      
++      /**
++       * Answers how many bytes are available for reading without blocking
++       */
++      public int available() throws IOException {
++              if (buf == null) throw new IOException();
++              return (buf.length - pos) + in.available();
++      }
++      
++      /**
++       * Answer the next byte of the input stream.
++       */
++      public int read() throws IOException {
++              if (buf == null) throw new IOException();
++              if (pos < buf.length) {
++                      position++;
++                      return (buf[pos++] & 0xFF);
++              }
++              int c = in.read();
++              if (c != -1) position++;
++              return c;
++      }
++      
++      /**
++       * Don't imitate the JDK behaviour of reading a random number
++       * of bytes when you can actually read them all.
++       */
++      public int read(byte b[], int off, int len) throws IOException {
++              int read = 0, count;
++              while (read != len && (count = readData(b, off, len - read)) != 
-1) {
++                      off += count;
++                      read += count;
++              }
++              position += read;
++              if (read == 0 && read != len) return -1;
++              return read;
++      }
++      
++      /**
++       * Reads at most <code>length</code> bytes from this LEDataInputStream 
and 
++       * stores them in byte array <code>buffer</code> starting at 
<code>offset</code>.
++       * <p>
++       * Answer the number of bytes actually read or -1 if no bytes were read 
and 
++       * end of stream was encountered.  This implementation reads bytes from 
++       * the pushback buffer first, then the target stream if more bytes are 
required
++       * to satisfy <code>count</code>.
++       * </p>
++       * @param buffer the byte array in which to store the read bytes.
++       * @param offset the offset in <code>buffer</code> to store the read 
bytes.
++       * @param length the maximum number of bytes to store in 
<code>buffer</code>.
++       *
++       * @return int the number of bytes actually read or -1 if end of stream.
++       *
++       * @exception java.io.IOException if an IOException occurs.
++       */
++      private int readData(byte[] buffer, int offset, int length) throws 
IOException {
++              if (buf == null) throw new IOException();
++              if (offset < 0 || offset > buffer.length ||
++                      length < 0 || (length > buffer.length - offset)) {
++                      throw new ArrayIndexOutOfBoundsException();
++                      }
++                              
++              int cacheCopied = 0;
++              int newOffset = offset;
++      
++              // Are there pushback bytes available?
++              int available = buf.length - pos;
++              if (available > 0) {
++                      cacheCopied = (available >= length) ? length : 
available;
++                      System.arraycopy(buf, pos, buffer, newOffset, 
cacheCopied);
++                      newOffset += cacheCopied;
++                      pos += cacheCopied;
++              }
++      
++              // Have we copied enough?
++              if (cacheCopied == length) return length;
++
++              int inCopied = in.read(buffer, newOffset, length - cacheCopied);
++
++              if (inCopied > 0) return inCopied + cacheCopied;
++              if (cacheCopied == 0) return inCopied;
++              return cacheCopied;
++      }
++      
++      /**
++       * Answer an integer comprised of the next
++       * four bytes of the input stream.
++       */
++      public int readInt() throws IOException {
++              byte[] buf = new byte[4];
++              read(buf);
++              return ((buf[3] & 0xFF) << 24) | 
++                      ((buf[2] & 0xFF) << 16) | 
++                      ((buf[1] & 0xFF) << 8) | 
++                      (buf[0] & 0xFF);
++      }
++      
++      /**
++       * Answer a short comprised of the next
++       * two bytes of the input stream.
++       */
++      public short readShort() throws IOException {
++              byte[] buf = new byte[2];
++              read(buf);
++              return (short)(((buf[1] & 0xFF) << 8) | (buf[0] & 0xFF));
++      }
++      
++      /**
++       * Push back the entire content of the given buffer <code>b</code>.
++       * <p>
++       * The bytes are pushed so that they would be read back b[0], b[1], 
etc. 
++       * If the push back buffer cannot handle the bytes copied from 
<code>b</code>, 
++       * an IOException will be thrown and no byte will be pushed back.
++       * </p>
++       * 
++       * @param b the byte array containing bytes to push back into the stream
++       *
++       * @exception   java.io.IOException if the pushback buffer is too small
++       */
++      public void unread(byte[] b) throws IOException {
++              int length = b.length;
++              if (length > pos) throw new IOException();
++              position -= length;
++              pos -= length;
++              System.arraycopy(b, 0, buf, pos, length);
++      }
++}
diff --git a/debian/patches/series b/debian/patches/series
index 0f1d6c2..90d6b09 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 use_system_aapt.patch
 build.patch
+LEDataInputStream.java.patch

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

_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to