github.com/wanlay/gorm-dm8@v1.0.5/dmr/e.go (about) 1 /* 2 * Copyright (c) 2000-2018, 达梦数据库有限公司. 3 * All rights reserved. 4 */ 5 package dmr 6 7 import ( 8 "bytes" 9 "golang.org/x/text/encoding" 10 "golang.org/x/text/encoding/ianaindex" 11 "golang.org/x/text/transform" 12 "io" 13 "io/ioutil" 14 "math" 15 ) 16 17 type dm_build_1219 struct{} 18 19 var Dm_build_1220 = &dm_build_1219{} 20 21 func (Dm_build_1222 *dm_build_1219) Dm_build_1221(dm_build_1223 []byte, dm_build_1224 int, dm_build_1225 byte) int { 22 dm_build_1223[dm_build_1224] = dm_build_1225 23 return 1 24 } 25 26 func (Dm_build_1227 *dm_build_1219) Dm_build_1226(dm_build_1228 []byte, dm_build_1229 int, dm_build_1230 int8) int { 27 dm_build_1228[dm_build_1229] = byte(dm_build_1230) 28 return 1 29 } 30 31 func (Dm_build_1232 *dm_build_1219) Dm_build_1231(dm_build_1233 []byte, dm_build_1234 int, dm_build_1235 int16) int { 32 dm_build_1233[dm_build_1234] = byte(dm_build_1235) 33 dm_build_1234++ 34 dm_build_1233[dm_build_1234] = byte(dm_build_1235 >> 8) 35 return 2 36 } 37 38 func (Dm_build_1237 *dm_build_1219) Dm_build_1236(dm_build_1238 []byte, dm_build_1239 int, dm_build_1240 int32) int { 39 dm_build_1238[dm_build_1239] = byte(dm_build_1240) 40 dm_build_1239++ 41 dm_build_1238[dm_build_1239] = byte(dm_build_1240 >> 8) 42 dm_build_1239++ 43 dm_build_1238[dm_build_1239] = byte(dm_build_1240 >> 16) 44 dm_build_1239++ 45 dm_build_1238[dm_build_1239] = byte(dm_build_1240 >> 24) 46 dm_build_1239++ 47 return 4 48 } 49 50 func (Dm_build_1242 *dm_build_1219) Dm_build_1241(dm_build_1243 []byte, dm_build_1244 int, dm_build_1245 int64) int { 51 dm_build_1243[dm_build_1244] = byte(dm_build_1245) 52 dm_build_1244++ 53 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 8) 54 dm_build_1244++ 55 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 16) 56 dm_build_1244++ 57 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 24) 58 dm_build_1244++ 59 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 32) 60 dm_build_1244++ 61 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 40) 62 dm_build_1244++ 63 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 48) 64 dm_build_1244++ 65 dm_build_1243[dm_build_1244] = byte(dm_build_1245 >> 56) 66 return 8 67 } 68 69 func (Dm_build_1247 *dm_build_1219) Dm_build_1246(dm_build_1248 []byte, dm_build_1249 int, dm_build_1250 float32) int { 70 return Dm_build_1247.Dm_build_1266(dm_build_1248, dm_build_1249, math.Float32bits(dm_build_1250)) 71 } 72 73 func (Dm_build_1252 *dm_build_1219) Dm_build_1251(dm_build_1253 []byte, dm_build_1254 int, dm_build_1255 float64) int { 74 return Dm_build_1252.Dm_build_1271(dm_build_1253, dm_build_1254, math.Float64bits(dm_build_1255)) 75 } 76 77 func (Dm_build_1257 *dm_build_1219) Dm_build_1256(dm_build_1258 []byte, dm_build_1259 int, dm_build_1260 uint8) int { 78 dm_build_1258[dm_build_1259] = byte(dm_build_1260) 79 return 1 80 } 81 82 func (Dm_build_1262 *dm_build_1219) Dm_build_1261(dm_build_1263 []byte, dm_build_1264 int, dm_build_1265 uint16) int { 83 dm_build_1263[dm_build_1264] = byte(dm_build_1265) 84 dm_build_1264++ 85 dm_build_1263[dm_build_1264] = byte(dm_build_1265 >> 8) 86 return 2 87 } 88 89 func (Dm_build_1267 *dm_build_1219) Dm_build_1266(dm_build_1268 []byte, dm_build_1269 int, dm_build_1270 uint32) int { 90 dm_build_1268[dm_build_1269] = byte(dm_build_1270) 91 dm_build_1269++ 92 dm_build_1268[dm_build_1269] = byte(dm_build_1270 >> 8) 93 dm_build_1269++ 94 dm_build_1268[dm_build_1269] = byte(dm_build_1270 >> 16) 95 dm_build_1269++ 96 dm_build_1268[dm_build_1269] = byte(dm_build_1270 >> 24) 97 return 3 98 } 99 100 func (Dm_build_1272 *dm_build_1219) Dm_build_1271(dm_build_1273 []byte, dm_build_1274 int, dm_build_1275 uint64) int { 101 dm_build_1273[dm_build_1274] = byte(dm_build_1275) 102 dm_build_1274++ 103 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 8) 104 dm_build_1274++ 105 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 16) 106 dm_build_1274++ 107 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 24) 108 dm_build_1274++ 109 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 32) 110 dm_build_1274++ 111 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 40) 112 dm_build_1274++ 113 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 48) 114 dm_build_1274++ 115 dm_build_1273[dm_build_1274] = byte(dm_build_1275 >> 56) 116 return 3 117 } 118 119 func (Dm_build_1277 *dm_build_1219) Dm_build_1276(dm_build_1278 []byte, dm_build_1279 int, dm_build_1280 []byte, dm_build_1281 int, dm_build_1282 int) int { 120 copy(dm_build_1278[dm_build_1279:dm_build_1279+dm_build_1282], dm_build_1280[dm_build_1281:dm_build_1281+dm_build_1282]) 121 return dm_build_1282 122 } 123 124 func (Dm_build_1284 *dm_build_1219) Dm_build_1283(dm_build_1285 []byte, dm_build_1286 int, dm_build_1287 []byte, dm_build_1288 int, dm_build_1289 int) int { 125 dm_build_1286 += Dm_build_1284.Dm_build_1266(dm_build_1285, dm_build_1286, uint32(dm_build_1289)) 126 return 4 + Dm_build_1284.Dm_build_1276(dm_build_1285, dm_build_1286, dm_build_1287, dm_build_1288, dm_build_1289) 127 } 128 129 func (Dm_build_1291 *dm_build_1219) Dm_build_1290(dm_build_1292 []byte, dm_build_1293 int, dm_build_1294 []byte, dm_build_1295 int, dm_build_1296 int) int { 130 dm_build_1293 += Dm_build_1291.Dm_build_1261(dm_build_1292, dm_build_1293, uint16(dm_build_1296)) 131 return 2 + Dm_build_1291.Dm_build_1276(dm_build_1292, dm_build_1293, dm_build_1294, dm_build_1295, dm_build_1296) 132 } 133 134 func (Dm_build_1298 *dm_build_1219) Dm_build_1297(dm_build_1299 []byte, dm_build_1300 int, dm_build_1301 string, dm_build_1302 string, dm_build_1303 *DmConnection) int { 135 dm_build_1304 := Dm_build_1298.Dm_build_1433(dm_build_1301, dm_build_1302, dm_build_1303) 136 dm_build_1300 += Dm_build_1298.Dm_build_1266(dm_build_1299, dm_build_1300, uint32(len(dm_build_1304))) 137 return 4 + Dm_build_1298.Dm_build_1276(dm_build_1299, dm_build_1300, dm_build_1304, 0, len(dm_build_1304)) 138 } 139 140 func (Dm_build_1306 *dm_build_1219) Dm_build_1305(dm_build_1307 []byte, dm_build_1308 int, dm_build_1309 string, dm_build_1310 string, dm_build_1311 *DmConnection) int { 141 dm_build_1312 := Dm_build_1306.Dm_build_1433(dm_build_1309, dm_build_1310, dm_build_1311) 142 143 dm_build_1308 += Dm_build_1306.Dm_build_1261(dm_build_1307, dm_build_1308, uint16(len(dm_build_1312))) 144 return 2 + Dm_build_1306.Dm_build_1276(dm_build_1307, dm_build_1308, dm_build_1312, 0, len(dm_build_1312)) 145 } 146 147 func (Dm_build_1314 *dm_build_1219) Dm_build_1313(dm_build_1315 []byte, dm_build_1316 int) byte { 148 return dm_build_1315[dm_build_1316] 149 } 150 151 func (Dm_build_1318 *dm_build_1219) Dm_build_1317(dm_build_1319 []byte, dm_build_1320 int) int16 { 152 var dm_build_1321 int16 153 dm_build_1321 = int16(dm_build_1319[dm_build_1320] & 0xff) 154 dm_build_1320++ 155 dm_build_1321 |= int16(dm_build_1319[dm_build_1320]&0xff) << 8 156 return dm_build_1321 157 } 158 159 func (Dm_build_1323 *dm_build_1219) Dm_build_1322(dm_build_1324 []byte, dm_build_1325 int) int32 { 160 var dm_build_1326 int32 161 dm_build_1326 = int32(dm_build_1324[dm_build_1325] & 0xff) 162 dm_build_1325++ 163 dm_build_1326 |= int32(dm_build_1324[dm_build_1325]&0xff) << 8 164 dm_build_1325++ 165 dm_build_1326 |= int32(dm_build_1324[dm_build_1325]&0xff) << 16 166 dm_build_1325++ 167 dm_build_1326 |= int32(dm_build_1324[dm_build_1325]&0xff) << 24 168 return dm_build_1326 169 } 170 171 func (Dm_build_1328 *dm_build_1219) Dm_build_1327(dm_build_1329 []byte, dm_build_1330 int) int64 { 172 var dm_build_1331 int64 173 dm_build_1331 = int64(dm_build_1329[dm_build_1330] & 0xff) 174 dm_build_1330++ 175 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 8 176 dm_build_1330++ 177 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 16 178 dm_build_1330++ 179 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 24 180 dm_build_1330++ 181 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 32 182 dm_build_1330++ 183 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 40 184 dm_build_1330++ 185 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 48 186 dm_build_1330++ 187 dm_build_1331 |= int64(dm_build_1329[dm_build_1330]&0xff) << 56 188 return dm_build_1331 189 } 190 191 func (Dm_build_1333 *dm_build_1219) Dm_build_1332(dm_build_1334 []byte, dm_build_1335 int) float32 { 192 return math.Float32frombits(Dm_build_1333.Dm_build_1349(dm_build_1334, dm_build_1335)) 193 } 194 195 func (Dm_build_1337 *dm_build_1219) Dm_build_1336(dm_build_1338 []byte, dm_build_1339 int) float64 { 196 return math.Float64frombits(Dm_build_1337.Dm_build_1354(dm_build_1338, dm_build_1339)) 197 } 198 199 func (Dm_build_1341 *dm_build_1219) Dm_build_1340(dm_build_1342 []byte, dm_build_1343 int) uint8 { 200 return uint8(dm_build_1342[dm_build_1343] & 0xff) 201 } 202 203 func (Dm_build_1345 *dm_build_1219) Dm_build_1344(dm_build_1346 []byte, dm_build_1347 int) uint16 { 204 var dm_build_1348 uint16 205 dm_build_1348 = uint16(dm_build_1346[dm_build_1347] & 0xff) 206 dm_build_1347++ 207 dm_build_1348 |= uint16(dm_build_1346[dm_build_1347]&0xff) << 8 208 return dm_build_1348 209 } 210 211 func (Dm_build_1350 *dm_build_1219) Dm_build_1349(dm_build_1351 []byte, dm_build_1352 int) uint32 { 212 var dm_build_1353 uint32 213 dm_build_1353 = uint32(dm_build_1351[dm_build_1352] & 0xff) 214 dm_build_1352++ 215 dm_build_1353 |= uint32(dm_build_1351[dm_build_1352]&0xff) << 8 216 dm_build_1352++ 217 dm_build_1353 |= uint32(dm_build_1351[dm_build_1352]&0xff) << 16 218 dm_build_1352++ 219 dm_build_1353 |= uint32(dm_build_1351[dm_build_1352]&0xff) << 24 220 return dm_build_1353 221 } 222 223 func (Dm_build_1355 *dm_build_1219) Dm_build_1354(dm_build_1356 []byte, dm_build_1357 int) uint64 { 224 var dm_build_1358 uint64 225 dm_build_1358 = uint64(dm_build_1356[dm_build_1357] & 0xff) 226 dm_build_1357++ 227 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 8 228 dm_build_1357++ 229 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 16 230 dm_build_1357++ 231 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 24 232 dm_build_1357++ 233 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 32 234 dm_build_1357++ 235 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 40 236 dm_build_1357++ 237 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 48 238 dm_build_1357++ 239 dm_build_1358 |= uint64(dm_build_1356[dm_build_1357]&0xff) << 56 240 return dm_build_1358 241 } 242 243 func (Dm_build_1360 *dm_build_1219) Dm_build_1359(dm_build_1361 []byte, dm_build_1362 int) []byte { 244 dm_build_1363 := Dm_build_1360.Dm_build_1349(dm_build_1361, dm_build_1362) 245 246 dm_build_1364 := make([]byte, dm_build_1363) 247 copy(dm_build_1364[:int(dm_build_1363)], dm_build_1361[dm_build_1362+4:dm_build_1362+4+int(dm_build_1363)]) 248 return dm_build_1364 249 } 250 251 func (Dm_build_1366 *dm_build_1219) Dm_build_1365(dm_build_1367 []byte, dm_build_1368 int) []byte { 252 dm_build_1369 := Dm_build_1366.Dm_build_1344(dm_build_1367, dm_build_1368) 253 254 dm_build_1370 := make([]byte, dm_build_1369) 255 copy(dm_build_1370[:int(dm_build_1369)], dm_build_1367[dm_build_1368+2:dm_build_1368+2+int(dm_build_1369)]) 256 return dm_build_1370 257 } 258 259 func (Dm_build_1372 *dm_build_1219) Dm_build_1371(dm_build_1373 []byte, dm_build_1374 int, dm_build_1375 int) []byte { 260 261 dm_build_1376 := make([]byte, dm_build_1375) 262 copy(dm_build_1376[:dm_build_1375], dm_build_1373[dm_build_1374:dm_build_1374+dm_build_1375]) 263 return dm_build_1376 264 } 265 266 func (Dm_build_1378 *dm_build_1219) Dm_build_1377(dm_build_1379 []byte, dm_build_1380 int, dm_build_1381 int, dm_build_1382 string, dm_build_1383 *DmConnection) string { 267 return Dm_build_1378.Dm_build_1470(dm_build_1379[dm_build_1380:dm_build_1380+dm_build_1381], dm_build_1382, dm_build_1383) 268 } 269 270 func (Dm_build_1385 *dm_build_1219) Dm_build_1384(dm_build_1386 []byte, dm_build_1387 int, dm_build_1388 string, dm_build_1389 *DmConnection) string { 271 dm_build_1390 := Dm_build_1385.Dm_build_1349(dm_build_1386, dm_build_1387) 272 dm_build_1387 += 4 273 return Dm_build_1385.Dm_build_1377(dm_build_1386, dm_build_1387, int(dm_build_1390), dm_build_1388, dm_build_1389) 274 } 275 276 func (Dm_build_1392 *dm_build_1219) Dm_build_1391(dm_build_1393 []byte, dm_build_1394 int, dm_build_1395 string, dm_build_1396 *DmConnection) string { 277 dm_build_1397 := Dm_build_1392.Dm_build_1344(dm_build_1393, dm_build_1394) 278 dm_build_1394 += 2 279 return Dm_build_1392.Dm_build_1377(dm_build_1393, dm_build_1394, int(dm_build_1397), dm_build_1395, dm_build_1396) 280 } 281 282 func (Dm_build_1399 *dm_build_1219) Dm_build_1398(dm_build_1400 byte) []byte { 283 return []byte{dm_build_1400} 284 } 285 286 func (Dm_build_1402 *dm_build_1219) Dm_build_1401(dm_build_1403 int16) []byte { 287 return []byte{byte(dm_build_1403), byte(dm_build_1403 >> 8)} 288 } 289 290 func (Dm_build_1405 *dm_build_1219) Dm_build_1404(dm_build_1406 int32) []byte { 291 return []byte{byte(dm_build_1406), byte(dm_build_1406 >> 8), byte(dm_build_1406 >> 16), byte(dm_build_1406 >> 24)} 292 } 293 294 func (Dm_build_1408 *dm_build_1219) Dm_build_1407(dm_build_1409 int64) []byte { 295 return []byte{byte(dm_build_1409), byte(dm_build_1409 >> 8), byte(dm_build_1409 >> 16), byte(dm_build_1409 >> 24), byte(dm_build_1409 >> 32), 296 byte(dm_build_1409 >> 40), byte(dm_build_1409 >> 48), byte(dm_build_1409 >> 56)} 297 } 298 299 func (Dm_build_1411 *dm_build_1219) Dm_build_1410(dm_build_1412 float32) []byte { 300 return Dm_build_1411.Dm_build_1422(math.Float32bits(dm_build_1412)) 301 } 302 303 func (Dm_build_1414 *dm_build_1219) Dm_build_1413(dm_build_1415 float64) []byte { 304 return Dm_build_1414.Dm_build_1425(math.Float64bits(dm_build_1415)) 305 } 306 307 func (Dm_build_1417 *dm_build_1219) Dm_build_1416(dm_build_1418 uint8) []byte { 308 return []byte{byte(dm_build_1418)} 309 } 310 311 func (Dm_build_1420 *dm_build_1219) Dm_build_1419(dm_build_1421 uint16) []byte { 312 return []byte{byte(dm_build_1421), byte(dm_build_1421 >> 8)} 313 } 314 315 func (Dm_build_1423 *dm_build_1219) Dm_build_1422(dm_build_1424 uint32) []byte { 316 return []byte{byte(dm_build_1424), byte(dm_build_1424 >> 8), byte(dm_build_1424 >> 16), byte(dm_build_1424 >> 24)} 317 } 318 319 func (Dm_build_1426 *dm_build_1219) Dm_build_1425(dm_build_1427 uint64) []byte { 320 return []byte{byte(dm_build_1427), byte(dm_build_1427 >> 8), byte(dm_build_1427 >> 16), byte(dm_build_1427 >> 24), byte(dm_build_1427 >> 32), byte(dm_build_1427 >> 40), byte(dm_build_1427 >> 48), byte(dm_build_1427 >> 56)} 321 } 322 323 func (Dm_build_1429 *dm_build_1219) Dm_build_1428(dm_build_1430 []byte, dm_build_1431 string, dm_build_1432 *DmConnection) []byte { 324 if dm_build_1431 == "UTF-8" { 325 return dm_build_1430 326 } 327 328 if dm_build_1432 == nil { 329 if e := dm_build_1475(dm_build_1431); e != nil { 330 tmp, err := ioutil.ReadAll( 331 transform.NewReader(bytes.NewReader(dm_build_1430), e.NewEncoder()), 332 ) 333 if err != nil { 334 panic("UTF8 To Charset error!") 335 } 336 337 return tmp 338 } 339 340 panic("Unsupported Charset!") 341 } 342 343 if dm_build_1432.encodeBuffer == nil { 344 dm_build_1432.encodeBuffer = bytes.NewBuffer(nil) 345 dm_build_1432.encode = dm_build_1475(dm_build_1432.getServerEncoding()) 346 dm_build_1432.transformReaderDst = make([]byte, 4096) 347 dm_build_1432.transformReaderSrc = make([]byte, 4096) 348 } 349 350 if e := dm_build_1432.encode; e != nil { 351 352 dm_build_1432.encodeBuffer.Reset() 353 354 n, err := dm_build_1432.encodeBuffer.ReadFrom( 355 Dm_build_1489(bytes.NewReader(dm_build_1430), e.NewEncoder(), dm_build_1432.transformReaderDst, dm_build_1432.transformReaderSrc), 356 ) 357 if err != nil { 358 panic("UTF8 To Charset error!") 359 } 360 var tmp = make([]byte, n) 361 if _, err = dm_build_1432.encodeBuffer.Read(tmp); err != nil { 362 panic("UTF8 To Charset error!") 363 } 364 return tmp 365 } 366 367 panic("Unsupported Charset!") 368 } 369 370 func (Dm_build_1434 *dm_build_1219) Dm_build_1433(dm_build_1435 string, dm_build_1436 string, dm_build_1437 *DmConnection) []byte { 371 return Dm_build_1434.Dm_build_1428([]byte(dm_build_1435), dm_build_1436, dm_build_1437) 372 } 373 374 func (Dm_build_1439 *dm_build_1219) Dm_build_1438(dm_build_1440 []byte) byte { 375 return Dm_build_1439.Dm_build_1313(dm_build_1440, 0) 376 } 377 378 func (Dm_build_1442 *dm_build_1219) Dm_build_1441(dm_build_1443 []byte) int16 { 379 return Dm_build_1442.Dm_build_1317(dm_build_1443, 0) 380 } 381 382 func (Dm_build_1445 *dm_build_1219) Dm_build_1444(dm_build_1446 []byte) int32 { 383 return Dm_build_1445.Dm_build_1322(dm_build_1446, 0) 384 } 385 386 func (Dm_build_1448 *dm_build_1219) Dm_build_1447(dm_build_1449 []byte) int64 { 387 return Dm_build_1448.Dm_build_1327(dm_build_1449, 0) 388 } 389 390 func (Dm_build_1451 *dm_build_1219) Dm_build_1450(dm_build_1452 []byte) float32 { 391 return Dm_build_1451.Dm_build_1332(dm_build_1452, 0) 392 } 393 394 func (Dm_build_1454 *dm_build_1219) Dm_build_1453(dm_build_1455 []byte) float64 { 395 return Dm_build_1454.Dm_build_1336(dm_build_1455, 0) 396 } 397 398 func (Dm_build_1457 *dm_build_1219) Dm_build_1456(dm_build_1458 []byte) uint8 { 399 return Dm_build_1457.Dm_build_1340(dm_build_1458, 0) 400 } 401 402 func (Dm_build_1460 *dm_build_1219) Dm_build_1459(dm_build_1461 []byte) uint16 { 403 return Dm_build_1460.Dm_build_1344(dm_build_1461, 0) 404 } 405 406 func (Dm_build_1463 *dm_build_1219) Dm_build_1462(dm_build_1464 []byte) uint32 { 407 return Dm_build_1463.Dm_build_1349(dm_build_1464, 0) 408 } 409 410 func (Dm_build_1466 *dm_build_1219) Dm_build_1465(dm_build_1467 []byte, dm_build_1468 string, dm_build_1469 *DmConnection) []byte { 411 if dm_build_1468 == "UTF-8" { 412 return dm_build_1467 413 } 414 415 if dm_build_1469 == nil { 416 if e := dm_build_1475(dm_build_1468); e != nil { 417 418 tmp, err := ioutil.ReadAll( 419 transform.NewReader(bytes.NewReader(dm_build_1467), e.NewDecoder()), 420 ) 421 if err != nil { 422 423 panic("Charset To UTF8 error!") 424 } 425 426 return tmp 427 } 428 429 panic("Unsupported Charset!") 430 } 431 432 if dm_build_1469.encodeBuffer == nil { 433 dm_build_1469.encodeBuffer = bytes.NewBuffer(nil) 434 dm_build_1469.encode = dm_build_1475(dm_build_1469.getServerEncoding()) 435 dm_build_1469.transformReaderDst = make([]byte, 4096) 436 dm_build_1469.transformReaderSrc = make([]byte, 4096) 437 } 438 439 if e := dm_build_1469.encode; e != nil { 440 441 dm_build_1469.encodeBuffer.Reset() 442 443 n, err := dm_build_1469.encodeBuffer.ReadFrom( 444 Dm_build_1489(bytes.NewReader(dm_build_1467), e.NewDecoder(), dm_build_1469.transformReaderDst, dm_build_1469.transformReaderSrc), 445 ) 446 if err != nil { 447 448 panic("Charset To UTF8 error!") 449 } 450 451 return dm_build_1469.encodeBuffer.Next(int(n)) 452 } 453 454 panic("Unsupported Charset!") 455 } 456 457 func (Dm_build_1471 *dm_build_1219) Dm_build_1470(dm_build_1472 []byte, dm_build_1473 string, dm_build_1474 *DmConnection) string { 458 return string(Dm_build_1471.Dm_build_1465(dm_build_1472, dm_build_1473, dm_build_1474)) 459 } 460 461 func dm_build_1475(dm_build_1476 string) encoding.Encoding { 462 if e, err := ianaindex.MIB.Encoding(dm_build_1476); err == nil && e != nil { 463 return e 464 } 465 return nil 466 } 467 468 type Dm_build_1477 struct { 469 dm_build_1478 io.Reader 470 dm_build_1479 transform.Transformer 471 dm_build_1480 error 472 473 dm_build_1481 []byte 474 dm_build_1482, dm_build_1483 int 475 476 dm_build_1484 []byte 477 dm_build_1485, dm_build_1486 int 478 479 dm_build_1487 bool 480 } 481 482 const dm_build_1488 = 4096 483 484 func Dm_build_1489(dm_build_1490 io.Reader, dm_build_1491 transform.Transformer, dm_build_1492 []byte, dm_build_1493 []byte) *Dm_build_1477 { 485 dm_build_1491.Reset() 486 return &Dm_build_1477{ 487 dm_build_1478: dm_build_1490, 488 dm_build_1479: dm_build_1491, 489 dm_build_1481: dm_build_1492, 490 dm_build_1484: dm_build_1493, 491 } 492 } 493 494 func (dm_build_1495 *Dm_build_1477) Read(dm_build_1496 []byte) (int, error) { 495 dm_build_1497, dm_build_1498 := 0, error(nil) 496 for { 497 498 if dm_build_1495.dm_build_1482 != dm_build_1495.dm_build_1483 { 499 dm_build_1497 = copy(dm_build_1496, dm_build_1495.dm_build_1481[dm_build_1495.dm_build_1482:dm_build_1495.dm_build_1483]) 500 dm_build_1495.dm_build_1482 += dm_build_1497 501 if dm_build_1495.dm_build_1482 == dm_build_1495.dm_build_1483 && dm_build_1495.dm_build_1487 { 502 return dm_build_1497, dm_build_1495.dm_build_1480 503 } 504 return dm_build_1497, nil 505 } else if dm_build_1495.dm_build_1487 { 506 return 0, dm_build_1495.dm_build_1480 507 } 508 509 if dm_build_1495.dm_build_1485 != dm_build_1495.dm_build_1486 || dm_build_1495.dm_build_1480 != nil { 510 dm_build_1495.dm_build_1482 = 0 511 dm_build_1495.dm_build_1483, dm_build_1497, dm_build_1498 = dm_build_1495.dm_build_1479.Transform(dm_build_1495.dm_build_1481, dm_build_1495.dm_build_1484[dm_build_1495.dm_build_1485:dm_build_1495.dm_build_1486], dm_build_1495.dm_build_1480 == io.EOF) 512 dm_build_1495.dm_build_1485 += dm_build_1497 513 514 switch { 515 case dm_build_1498 == nil: 516 if dm_build_1495.dm_build_1485 != dm_build_1495.dm_build_1486 { 517 dm_build_1495.dm_build_1480 = nil 518 } 519 520 dm_build_1495.dm_build_1487 = dm_build_1495.dm_build_1480 != nil 521 continue 522 case dm_build_1498 == transform.ErrShortDst && (dm_build_1495.dm_build_1483 != 0 || dm_build_1497 != 0): 523 524 continue 525 case dm_build_1498 == transform.ErrShortSrc && dm_build_1495.dm_build_1486-dm_build_1495.dm_build_1485 != len(dm_build_1495.dm_build_1484) && dm_build_1495.dm_build_1480 == nil: 526 527 default: 528 dm_build_1495.dm_build_1487 = true 529 530 if dm_build_1495.dm_build_1480 == nil || dm_build_1495.dm_build_1480 == io.EOF { 531 dm_build_1495.dm_build_1480 = dm_build_1498 532 } 533 continue 534 } 535 } 536 537 if dm_build_1495.dm_build_1485 != 0 { 538 dm_build_1495.dm_build_1485, dm_build_1495.dm_build_1486 = 0, copy(dm_build_1495.dm_build_1484, dm_build_1495.dm_build_1484[dm_build_1495.dm_build_1485:dm_build_1495.dm_build_1486]) 539 } 540 dm_build_1497, dm_build_1495.dm_build_1480 = dm_build_1495.dm_build_1478.Read(dm_build_1495.dm_build_1484[dm_build_1495.dm_build_1486:]) 541 dm_build_1495.dm_build_1486 += dm_build_1497 542 } 543 }