Exemple #1
0
    static b[] a(byte abyte0[], Version version, ErrorCorrectionLevel errorcorrectionlevel)
    {
        Version.ECBlocks ecblocks;
        b ab[];
        int j1;
        int k1;
        int l1;
        if (abyte0.length != version.getTotalCodewords())
        {
            throw new IllegalArgumentException();
        }
        ecblocks = version.getECBlocksForLevel(errorcorrectionlevel);
        Version.ECB aecb[] = ecblocks.getECBlocks();
        int i = aecb.length;
        int j = 0;
        int k = 0;
        for (; j < i; j++)
        {
            k += aecb[j].getCount();
        }

        ab = new b[k];
        int l = aecb.length;
        int i1 = 0;
        int k5;
        for (j1 = 0; i1 < l; j1 = k5)
        {
            Version.ECB ecb = aecb[i1];
            k5 = j1;
            for (int l5 = 0; l5 < ecb.getCount();)
            {
                int i6 = ecb.getDataCodewords();
                int j6 = i6 + ecblocks.getECCodewordsPerBlock();
                int k6 = k5 + 1;
                ab[k5] = new b(i6, new byte[j6]);
                l5++;
                k5 = k6;
            }

            i1++;
        }

        k1 = ab[0].b.length;
        l1 = -1 + ab.length;
_L6:
        if (l1 >= 0 && ab[l1].b.length != k1) goto _L2; else goto _L1