diff options
author | flow <flowlnlnln@gmail.com> | 2022-10-16 10:41:43 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-16 10:41:43 -0300 |
commit | aecd158d3c9fce7e42143cba6e20e99a73576f75 (patch) | |
tree | bda5c6850ba3f0274c08941a4d62cd88df942dfa /libraries/classparser/src/classparser.cpp | |
parent | c089f9b59f32780d3228d08c2d2eeb95e4ace9e1 (diff) | |
parent | 87d35f0d16d3be56020f9e6295cc8bfa0c657d27 (diff) | |
download | PrismLauncher-aecd158d3c9fce7e42143cba6e20e99a73576f75.tar.gz PrismLauncher-aecd158d3c9fce7e42143cba6e20e99a73576f75.tar.bz2 PrismLauncher-aecd158d3c9fce7e42143cba6e20e99a73576f75.zip |
Merge pull request #1208 from DioEgizio/fix-unused-libs
Removes `classparser` and `xz-embedded`
Diffstat (limited to 'libraries/classparser/src/classparser.cpp')
-rw-r--r-- | libraries/classparser/src/classparser.cpp | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/libraries/classparser/src/classparser.cpp b/libraries/classparser/src/classparser.cpp deleted file mode 100644 index 601521f6..00000000 --- a/libraries/classparser/src/classparser.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright 2013-2021 MultiMC Contributors - * - * Authors: Orochimarufan <orochimarufan.x3@gmail.com> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "classfile.h" -#include "classparser.h" - -#include <QFile> -#include <quazip/quazipfile.h> -#include <QDebug> - -namespace classparser -{ - -QString GetMinecraftJarVersion(QString jarName) -{ - QString version; - - // check if minecraft.jar exists - QFile jar(jarName); - if (!jar.exists()) - return version; - - // open minecraft.jar - QuaZip zip(&jar); - if (!zip.open(QuaZip::mdUnzip)) - return version; - - // open Minecraft.class - zip.setCurrentFile("net/minecraft/client/Minecraft.class", QuaZip::csSensitive); - QuaZipFile Minecraft(&zip); - if (!Minecraft.open(QuaZipFile::ReadOnly)) - return version; - - // read Minecraft.class - qint64 size = Minecraft.size(); - char *classfile = new char[size]; - Minecraft.read(classfile, size); - - // parse Minecraft.class - try - { - char *temp = classfile; - java::classfile MinecraftClass(temp, size); - java::constant_pool constants = MinecraftClass.constants; - for (java::constant_pool::container_type::const_iterator iter = constants.begin(); - iter != constants.end(); iter++) - { - const java::constant &constant = *iter; - if (constant.type != java::constant_type_t::j_string_data) - continue; - const std::string &str = constant.str_data; - qDebug() << QString::fromStdString(str); - if (str.compare(0, 20, "Minecraft Minecraft ") == 0) - { - version = str.substr(20).data(); - break; - } - } - } - catch (const java::classfile_exception &) { } - - // clean up - delete[] classfile; - Minecraft.close(); - zip.close(); - jar.close(); - - return version; -} -} |