SubArrays.java 1.52 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.fontengine.font.postscript;

public final class SubArrays {
    public static boolean arrayCompare(byte[] a1, int a1start, byte[] a2, int a2start, int numToCompare) {
        int end = a1start + numToCompare;
        int firstEnd = 0;
        int secondEnd = 0;
        if (a1.length < end) {
            firstEnd = end - a1.length;
        }
        if (a2.length < a2start + numToCompare) {
            secondEnd = a2start + numToCompare - a2.length;
        }
        if (firstEnd != secondEnd) {
            return false;
        }
        while (a1start < (end -= secondEnd)) {
            if (a1[a1start] != a2[a2start]) {
                return false;
            }
            ++a1start;
            ++a2start;
        }
        return true;
    }

    public static boolean stringBufferCompare(StringBuffer a1, int a1start, StringBuffer a2, int a2start, int numToCompare) {
        int end = a1start + numToCompare;
        int firstEnd = 0;
        int secondEnd = 0;
        if (a1.length() < end) {
            firstEnd = end - a1.length();
        }
        if (a2.length() < a2start + numToCompare) {
            secondEnd = a2start + numToCompare - a2.length();
        }
        if (firstEnd != secondEnd) {
            return false;
        }
        while (a1start < (end -= secondEnd)) {
            if (a1.charAt(a1start) != a2.charAt(a2start)) {
                return false;
            }
            ++a1start;
            ++a2start;
        }
        return true;
    }
}