@@ -1246,29 +1246,28 @@ private int getEncodation(byte[] text, int textOffset, int textSize, byte[] data
1246
1246
f [3 ][0 ] = b256Encodation (text , textOffset , 1 , dataDynamic [3 ], dataOffset , dataSize , 0 , -1 , dataOffset );
1247
1247
f [4 ][0 ] = X12Encodation (text , textOffset , 1 , dataDynamic [4 ], dataOffset , dataSize , 0 , -1 , dataOffset );
1248
1248
f [5 ][0 ] = EdifactEncodation (text , textOffset , 1 , dataDynamic [5 ], dataOffset , dataSize , 0 , -1 , dataOffset , sizeFixed );
1249
- int [] dataNewOffset = new int [6 ];
1250
1249
for (int i = 1 ; i < textSize ; i ++) {
1251
1250
int tempForMin [] = new int [6 ];
1252
- for (int k = 0 ; k < 6 ; k ++) {
1253
- dataNewOffset [k ] = f [k ][i - 1 ] >= 0 ? f [k ][i - 1 ] : Integer .MAX_VALUE ;
1254
- }
1255
1251
for (int currEnc = 0 ; currEnc < 6 ; currEnc ++) {
1256
1252
byte [][] dataDynamicInner = new byte [6 ][data .length ];
1257
1253
for (int prevEnc = 0 ; prevEnc < 6 ; prevEnc ++) {
1258
1254
System .arraycopy (dataDynamic [prevEnc ], 0 , dataDynamicInner [prevEnc ], 0 , data .length );
1259
- if (currEnc == 0 )
1260
- tempForMin [prevEnc ] = asciiEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], i , prevEnc + 1 , dataOffset );
1261
- if (currEnc == 1 )
1262
- tempForMin [prevEnc ] = C40OrTextEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], true , i , prevEnc + 1 , dataOffset );
1263
- if (currEnc == 2 )
1264
- tempForMin [prevEnc ] = C40OrTextEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], false , i , prevEnc + 1 , dataOffset );
1265
- if (currEnc == 3 )
1266
- tempForMin [prevEnc ] = b256Encodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], i , prevEnc + 1 , dataOffset );
1267
- if (currEnc == 4 )
1268
- tempForMin [prevEnc ] = X12Encodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], i , prevEnc + 1 , dataOffset );
1269
- if (currEnc == 5 )
1270
- tempForMin [prevEnc ] = EdifactEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], dataNewOffset [prevEnc ] + dataOffset , dataSize - dataNewOffset [prevEnc ], i , prevEnc + 1 , dataOffset , sizeFixed );
1271
-
1255
+ if (f [prevEnc ][i - 1 ] < 0 )
1256
+ tempForMin [prevEnc ] = -1 ;
1257
+ else {
1258
+ if (currEnc == 0 )
1259
+ tempForMin [prevEnc ] = asciiEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], i , prevEnc + 1 , dataOffset );
1260
+ if (currEnc == 1 )
1261
+ tempForMin [prevEnc ] = C40OrTextEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], true , i , prevEnc + 1 , dataOffset );
1262
+ if (currEnc == 2 )
1263
+ tempForMin [prevEnc ] = C40OrTextEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], false , i , prevEnc + 1 , dataOffset );
1264
+ if (currEnc == 3 )
1265
+ tempForMin [prevEnc ] = b256Encodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], i , prevEnc + 1 , dataOffset );
1266
+ if (currEnc == 4 )
1267
+ tempForMin [prevEnc ] = X12Encodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], i , prevEnc + 1 , dataOffset );
1268
+ if (currEnc == 5 )
1269
+ tempForMin [prevEnc ] = EdifactEncodation (text , textOffset + i , 1 , dataDynamicInner [prevEnc ], f [prevEnc ][i - 1 ] + dataOffset , dataSize - f [prevEnc ][i - 1 ], i , prevEnc + 1 , dataOffset , sizeFixed );
1270
+ }
1272
1271
}
1273
1272
solveFAndSwitchMode (tempForMin , currEnc , i );
1274
1273
if (switchMode [currEnc ][i ] != 0 )
0 commit comments