CosRepairUtils.java 5.38 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.internal.io.stream.InputByteStream
 */
package com.adobe.internal.pdftoolkit.core.cos;

import com.adobe.internal.io.stream.InputByteStream;
import com.adobe.internal.pdftoolkit.core.cos.CosDocument;
import com.adobe.internal.pdftoolkit.core.cos.CosParseBuf;
import java.io.IOException;

class CosRepairUtils {
    CosRepairUtils() {
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    static long getStreamLength(CosDocument doc, long start) {
        fileStream = null;
        try {
            try {
                fileStream = doc.getStream();
                fileStream.seek(start);
                buf = new CosParseBuf(fileStream, 4096);
                b = buf.read();
                while (b != -1) {
                    if (b == 101) {
                        b = buf.read();
                        if (b != 110 || (b = buf.read()) != 100 || (b = buf.read()) != 115 || (b = buf.read()) != 116 || (b = buf.read()) != 114 || (b = buf.read()) != 101 || (b = buf.read()) != 97 || (b = buf.read()) != 109) continue;
                        var6_6 = buf.getPosition() - start - 9;
                        var9_7 = null;
                        if (fileStream == null) return var6_6;
                        try {
                            fileStream.close();
                            return var6_6;
                        }
                        catch (IOException e) {
                            // empty catch block
                        }
                        return var6_6;
                    }
                    b = buf.read();
                }
                var9_8 = null;
                if (fileStream == null) return -1;
            }
            catch (Exception e) {
                var9_9 = null;
                if (fileStream == null) return -1;
                try {}
                catch (IOException e) {
                    return -1;
                }
                fileStream.close();
                return -1;
            }
            try {}
            catch (IOException e) {
                return -1;
            }
            fileStream.close();
            return -1;
        }
        catch (Throwable var8_15) {
            var9_10 = null;
            if (fileStream == null) throw var8_15;
            ** try [egrp 2[TRYBLOCK] [6 : 209->218)] { 
lbl45: // 1 sources:
            fileStream.close();
            throw var8_15;
lbl47: // 1 sources:
            catch (IOException e) {
                // empty catch block
            }
            throw var8_15;
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Lifted jumps to return sites
     */
    static boolean isStreamEndValid(CosDocument doc, long endPos) {
        fileStream = null;
        try {
            try {
                fileStream = doc.getStream();
                fileStream.seek(endPos);
                buf = new CosParseBuf(fileStream, 4096);
                if (buf.read() == 13) {
                    if (buf.read() != 10) {
                        buf.unget();
                    }
                } else {
                    buf.unget();
                    if (buf.read() != 10) {
                        buf.unget();
                    }
                }
                if (buf.read() == 101 && buf.read() == 110 && buf.read() == 100 && buf.read() == 115 && buf.read() == 116 && buf.read() == 114 && buf.read() == 101 && buf.read() == 97 && buf.read() == 109) {
                    bl = true;
                    var7_7 = null;
                    if (fileStream == null) return bl;
                    try {
                        fileStream.close();
                        return bl;
                    }
                    catch (IOException e) {
                        // empty catch block
                    }
                    return bl;
                }
                bl = false;
                var7_8 = null;
                if (fileStream == null) return bl;
            }
            catch (Exception e) {
                var7_9 = null;
                if (fileStream == null) return false;
                try {}
                catch (IOException e) {
                    return false;
                }
                fileStream.close();
                return false;
            }
            ** try [egrp 2[TRYBLOCK] [6 : 209->218)] { 
lbl39: // 1 sources:
            fileStream.close();
            return bl;
lbl41: // 1 sources:
            catch (IOException e) {
                // empty catch block
            }
            return bl;
        }
        catch (Throwable var6_15) {
            var7_10 = null;
            if (fileStream == null) throw var6_15;
            ** try [egrp 2[TRYBLOCK] [6 : 209->218)] { 
lbl49: // 1 sources:
            fileStream.close();
            throw var6_15;
lbl51: // 1 sources:
            catch (IOException e) {
                // empty catch block
            }
            throw var6_15;
        }
    }
}