clang-tidy and comp fixes

This commit is contained in:
Honkazel 2025-02-03 15:29:19 +05:00
parent 43e5139076
commit ba0d40b527
7 changed files with 41 additions and 35 deletions

View file

@ -20,6 +20,16 @@ set(LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
configure_file(hyprcursor.pc.in hyprcursor.pc @ONLY)
set(CMAKE_CXX_STANDARD 23)
add_compile_options(
-Wall
-Wextra
-Wpedantic
-Wno-unused-parameter
-Wno-unused-value
-Wno-missing-field-initializers
-Wno-narrowing
-Wno-pointer-arith)
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
find_package(PkgConfig REQUIRED)
pkg_check_modules(

View file

@ -16,12 +16,12 @@
#define ZIP_LENGTH_TO_END -1
#endif
enum eOperation {
enum eOperation : uint8_t {
OPERATION_CREATE = 0,
OPERATION_EXTRACT = 1,
};
eHyprcursorResizeAlgo explicitResizeAlgo = HC_RESIZE_INVALID;
static eHyprcursorResizeAlgo explicitResizeAlgo = HC_RESIZE_INVALID;
struct XCursorConfigEntry {
int size = 0, hotspotX = 0, hotspotY = 0, delay = 0;
@ -119,7 +119,7 @@ static std::optional<std::string> createCursorThemeFromPath(const std::string& p
return "couldn't parse meta: " + *PARSERESULT2;
for (auto& i : meta.parsedData.definedSizes) {
SHAPE->images.push_back(SCursorImage{i.file, i.size, i.delayMs});
SHAPE->images.push_back(SCursorImage{.filename = i.file, .size = i.size, .delay = i.delayMs});
}
SHAPE->overrides = meta.parsedData.overrides;
@ -388,7 +388,7 @@ int main(int argc, char** argv, char** envp) {
eOperation op = OPERATION_CREATE;
std::string path = "", out = "";
for (size_t i = 1; i < argc; ++i) {
for (int i = 1; i < argc; ++i) {
std::string arg = argv[i];
if (arg == "-v" || arg == "--version") {

View file

@ -1,7 +1,7 @@
#pragma once
#include <vector>
#include <stdlib.h>
#include <cstdlib>
#include <string>
#include "shared.h"
@ -114,7 +114,7 @@ namespace Hyprcursor {
SCursorShapeData data;
for (size_t i = 0; i < size; ++i) {
for (int i = 0; i < size; ++i) {
SCursorImageData image;
image.delay = images[i]->delay;
image.size = images[i]->size;
@ -197,4 +197,4 @@ namespace Hyprcursor {
friend class CHyprcursorImplementation;
};
}
}

View file

@ -38,7 +38,7 @@ CVarList::CVarList(const std::string& in, const size_t lastArgNo, const char del
break;
}
pos += s.size() + 1;
m_vArgs.emplace_back(removeBeginEndSpacesTabs(std::string_view{s}.data()));
m_vArgs.emplace_back(removeBeginEndSpacesTabs(s.data()));
}
}
@ -51,4 +51,4 @@ std::string CVarList::join(const std::string& joiner, size_t from, size_t to) co
}
return rolling;
}
}

View file

@ -2,6 +2,7 @@
#include "internalSharedTypes.hpp"
#include "internalDefines.hpp"
#include <array>
#include <cstddef>
#include <sstream>
#include <cstdio>
#include <filesystem>
@ -96,7 +97,7 @@ static std::string getFirstTheme(PHYPRCURSORLOGFUNC logfn) {
}
for (auto& dir : systemThemeDirs) {
const auto FULLPATH = dir;
const auto& FULLPATH = dir;
if (!pathAccessible(FULLPATH)) {
Debug::log(HC_LOG_TRACE, logfn, "Skipping path {} because it's inaccessible.", FULLPATH);
continue;
@ -175,7 +176,7 @@ static std::string getFullPathForThemeName(const std::string& name, PHYPRCURSORL
}
for (auto& dir : systemThemeDirs) {
const auto FULLPATH = dir;
const auto& FULLPATH = dir;
if (!pathAccessible(FULLPATH)) {
Debug::log(HC_LOG_TRACE, logfn, "Skipping path {} because it's inaccessible.", FULLPATH);
continue;
@ -217,23 +218,19 @@ static std::string getFullPathForThemeName(const std::string& name, PHYPRCURSORL
return "";
}
SManagerOptions::SManagerOptions() {
logFn = nullptr;
allowDefaultFallback = true;
SManagerOptions::SManagerOptions() : logFn(nullptr), allowDefaultFallback(true) {
;
}
CHyprcursorManager::CHyprcursorManager(const char* themeName_) {
init(themeName_);
}
CHyprcursorManager::CHyprcursorManager(const char* themeName_, PHYPRCURSORLOGFUNC fn) {
logFn = fn;
CHyprcursorManager::CHyprcursorManager(const char* themeName_, PHYPRCURSORLOGFUNC fn) : logFn(fn) {
init(themeName_);
}
CHyprcursorManager::CHyprcursorManager(const char* themeName_, SManagerOptions options) {
logFn = options.logFn;
allowDefaultFallback = options.allowDefaultFallback;
CHyprcursorManager::CHyprcursorManager(const char* themeName_, SManagerOptions options) : allowDefaultFallback(options.allowDefaultFallback), logFn(options.logFn) {
init(themeName_);
}
@ -284,8 +281,7 @@ void CHyprcursorManager::init(const char* themeName_) {
}
CHyprcursorManager::~CHyprcursorManager() {
if (impl)
delete impl;
delete impl;
}
bool CHyprcursorManager::valid() {
@ -508,7 +504,7 @@ bool CHyprcursorManager::loadThemeStyle(const SCursorStyleInfo& info) {
auto& newImage = impl->loadedShapes[shape.get()].images.emplace_back(std::make_unique<SLoadedCursorImage>());
newImage->artificial = true;
newImage->side = PIXELSIDE;
newImage->artificialData = new char[PIXELSIDE * PIXELSIDE * 4];
newImage->artificialData = new char[static_cast<unsigned long>(PIXELSIDE * PIXELSIDE * 4)];
newImage->cairoSurface = cairo_image_surface_create_for_data((unsigned char*)newImage->artificialData, CAIRO_FORMAT_ARGB32, PIXELSIDE, PIXELSIDE, PIXELSIDE * 4);
newImage->delay = f->delay;
@ -549,7 +545,7 @@ bool CHyprcursorManager::loadThemeStyle(const SCursorStyleInfo& info) {
auto& newImage = impl->loadedShapes[shape.get()].images.emplace_back(std::make_unique<SLoadedCursorImage>());
newImage->artificial = true;
newImage->side = PIXELSIDE;
newImage->artificialData = new char[PIXELSIDE * PIXELSIDE * 4];
newImage->artificialData = new char[static_cast<unsigned long>(PIXELSIDE * PIXELSIDE * 4)];
newImage->cairoSurface = cairo_image_surface_create_for_data((unsigned char*)newImage->artificialData, CAIRO_FORMAT_ARGB32, PIXELSIDE, PIXELSIDE, PIXELSIDE * 4);
newImage->delay = f->delay;
@ -689,9 +685,9 @@ std::optional<std::string> CHyprcursorImplementation::loadTheme() {
zip_file_t* meta_file = zip_fopen_index(zip, index, ZIP_FL_UNCHANGED);
char* buffer = new char[1024 * 1024]; /* 1MB should be more than enough */
char* buffer = new char[static_cast<unsigned long>(1024 * 1024)]; /* 1MB should be more than enough */
int readBytes = zip_fread(meta_file, buffer, 1024 * 1024 - 1);
int readBytes = zip_fread(meta_file, buffer, (1024 * 1024) - 1);
zip_fclose(meta_file);
@ -711,7 +707,7 @@ std::optional<std::string> CHyprcursorImplementation::loadTheme() {
return "cursor" + cursor.path().string() + "failed to parse meta: " + *METAPARSERESULT;
for (auto& i : meta.parsedData.definedSizes) {
SHAPE->images.push_back(SCursorImage{i.file, i.size, i.delayMs});
SHAPE->images.push_back(SCursorImage{.filename = i.file, .size = i.size, .delay = i.delayMs});
}
SHAPE->overrides = meta.parsedData.overrides;
@ -755,8 +751,8 @@ std::optional<std::string> CHyprcursorImplementation::loadTheme() {
IMAGE->data = new char[sb.size + 1];
IMAGE->dataLen = sb.size + 1;
} else {
IMAGE->data = new char[1024 * 1024]; /* 1MB should be more than enough, again. This probably should be in the spec. */
IMAGE->dataLen = 1024 * 1024;
IMAGE->data = new char[static_cast<unsigned long>(1024 * 1024)]; /* 1MB should be more than enough, again. This probably should be in the spec. */
IMAGE->dataLen = static_cast<size_t>(1024 * 1024);
}
IMAGE->dataLen = zip_fread(image_file, IMAGE->data, IMAGE->dataLen - 1);

View file

@ -38,7 +38,7 @@ struct SCursorImageData** hyprcursor_get_cursor_image_data(struct hyprcursor_man
}
void hyprcursor_cursor_image_data_free(hyprcursor_cursor_image_data** data, int size) {
for (size_t i = 0; i < size; ++i) {
for (int i = 0; i < size; ++i) {
free(data[i]);
}
@ -49,7 +49,7 @@ void hyprcursor_style_done(hyprcursor_manager_t* manager, hyprcursor_cursor_styl
const auto MGR = (CHyprcursorManager*)manager;
SCursorStyleInfo info;
info.size = info_.size;
return MGR->cursorSurfaceStyleDone(info);
MGR->cursorSurfaceStyleDone(info);
}
void hyprcursor_register_logging_function(struct hyprcursor_manager_t* manager, PHYPRCURSORLOGFUNC fn) {
@ -71,4 +71,4 @@ CAPI void hyprcursor_raw_shape_data_free(hyprcursor_cursor_raw_shape_data* data)
delete[] data->images;
delete data;
}
}

View file

@ -8,9 +8,9 @@
#include "VarList.hpp"
CMeta* currentMeta = nullptr;
static CMeta* currentMeta = nullptr;
CMeta::CMeta(const std::string& rawdata_, bool hyprlang_ /* false for toml */, bool dataIsPath) : rawdata(rawdata_), hyprlang(hyprlang_), dataPath(dataIsPath) {
CMeta::CMeta(const std::string& rawdata_, bool hyprlang_ /* false for toml */, bool dataIsPath) : dataPath(dataIsPath), hyprlang(hyprlang_), rawdata(rawdata_) {
if (!dataIsPath)
return;
@ -87,8 +87,8 @@ static Hyprlang::CParseResult parseDefineSize(const char* C, const char* V) {
CMeta::SDefinedSize size;
if (RHS.contains(",")) {
const auto LL = removeBeginEndSpacesTabs(RHS.substr(0, RHS.find(",")));
const auto RR = removeBeginEndSpacesTabs(RHS.substr(RHS.find(",") + 1));
const auto LL = removeBeginEndSpacesTabs(RHS.substr(0, RHS.find(',')));
const auto RR = removeBeginEndSpacesTabs(RHS.substr(RHS.find(',') + 1));
try {
size.delayMs = std::stoull(RR);