Merge commit '54c0a3c874c96f50462ab3f1c9d32c592e8bae50'
Some checks failed
ContinuousDelivery / linux-ubuntu (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousDelivery / windows (windows-2022, ) (push) Has been cancelled
ContinuousDelivery / windows (windows-2022, asan) (push) Has been cancelled
ContinuousIntegration / on ubuntu-24.04-arm (push) Has been cancelled
ContinuousIntegration / asan on ubuntu-24.04-arm (push) Has been cancelled
ContinuousIntegration / on ubuntu-latest (push) Has been cancelled
ContinuousIntegration / asan on ubuntu-latest (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousIntegration / macos (push) Has been cancelled
ContinuousIntegration / windows (push) Has been cancelled
ContinuousDelivery / dumpsyms (push) Has been cancelled
ContinuousDelivery / release (push) Has been cancelled
Some checks failed
ContinuousDelivery / linux-ubuntu (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousDelivery / windows (windows-2022, ) (push) Has been cancelled
ContinuousDelivery / windows (windows-2022, asan) (push) Has been cancelled
ContinuousIntegration / on ubuntu-24.04-arm (push) Has been cancelled
ContinuousIntegration / asan on ubuntu-24.04-arm (push) Has been cancelled
ContinuousIntegration / on ubuntu-latest (push) Has been cancelled
ContinuousIntegration / asan on ubuntu-latest (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousIntegration / macos (push) Has been cancelled
ContinuousIntegration / windows (push) Has been cancelled
ContinuousDelivery / dumpsyms (push) Has been cancelled
ContinuousDelivery / release (push) Has been cancelled
This commit is contained in:
@@ -25,15 +25,18 @@ run() {
|
||||
-Wno-missing-braces \
|
||||
-Wno-missing-field-initializers \
|
||||
-Wno-missing-noreturn \
|
||||
-Wno-nullability-completeness \
|
||||
-Wno-nullability-extension \
|
||||
-Wno-nullable-to-nonnull-conversion \
|
||||
-Wno-old-style-cast \
|
||||
-Wno-padded \
|
||||
-Wno-source-uses-openmp \
|
||||
-Wno-switch-default \
|
||||
-Wno-tautological-pointer-compare \
|
||||
-Wno-unreachable-code-return \
|
||||
-Wno-unsafe-buffer-usage \
|
||||
-Wno-unused-parameter \
|
||||
-Wno-used-but-marked-unused \
|
||||
-Wno-source-uses-openmp
|
||||
-Wno-used-but-marked-unused
|
||||
}
|
||||
|
||||
. other/analysis/variants.sh
|
||||
|
@@ -7,6 +7,11 @@ ERRORS="*"
|
||||
# Still good to occasionally look at.
|
||||
ERRORS="$ERRORS,-google-readability-casting"
|
||||
|
||||
# TODO(iphydf): Fix these.
|
||||
CHECKS="$CHECKS,-clang-analyzer-nullability.NullableDereferenced"
|
||||
CHECKS="$CHECKS,-clang-analyzer-nullability.NullablePassedToNonnull"
|
||||
CHECKS="$CHECKS,-clang-analyzer-nullability.NullPassedToNonnull"
|
||||
|
||||
# Need to investigate or disable and document these.
|
||||
# =========================================================
|
||||
|
||||
|
@@ -12,8 +12,12 @@ CPPCHECK+=("--check-level=exhaustive")
|
||||
CPPCHECK+=("--inline-suppr")
|
||||
CPPCHECK+=("--library=other/docker/cppcheck/toxcore.cfg")
|
||||
CPPCHECK+=("--error-exitcode=1")
|
||||
# Some files don't match all our suppressions below.
|
||||
CPPCHECK+=("--suppress=unmatchedSuppression")
|
||||
# We don't cast function pointers, which cppcheck suggests here.
|
||||
CPPCHECK+=("--suppress=constParameterCallback")
|
||||
# This disagrees with clang's warnings.
|
||||
CPPCHECK+=("--suppress=invalidPrintfArgType_uint")
|
||||
# False positives in switch statements.
|
||||
CPPCHECK+=("--suppress=knownConditionTrueFalse")
|
||||
# Cppcheck does not need standard library headers to get proper results.
|
||||
|
@@ -1,5 +1,5 @@
|
||||
FROM toxchat/c-toxcore:sources AS sources
|
||||
FROM ghcr.io/goblint/analyzer:latest
|
||||
FROM ghcr.io/goblint/analyzer:2.5.0
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
|
||||
|
@@ -216,17 +216,6 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
// gen setters and getters
|
||||
for (const auto& t : event_types) {
|
||||
// setter
|
||||
std::visit(
|
||||
overloaded{
|
||||
[&](const EventTypeTrivial& t) {
|
||||
f << "non_null()\n";
|
||||
},
|
||||
[&](const EventTypeByteRange& t) {
|
||||
f << "non_null(1) nullable(2)\n";
|
||||
}
|
||||
},
|
||||
t
|
||||
);
|
||||
f << "static " << (t.index() == 0 ? "void" : "bool") << " tox_event_" << event_name_l << "_set_";
|
||||
std::visit(
|
||||
overloaded{
|
||||
@@ -239,15 +228,14 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
},
|
||||
t
|
||||
);
|
||||
f << "(Tox_Event_" << event_name << " *" << event_name_l << ",\n";
|
||||
f << " ";
|
||||
f << "(Tox_Event_" << event_name << " *_Nonnull " << event_name_l << ",";
|
||||
std::visit(
|
||||
overloaded{
|
||||
[&](const EventTypeTrivial& t) {
|
||||
f << t.type << " " << t.name << ")\n";
|
||||
f << " " << t.type << " " << t.name << ")\n";
|
||||
},
|
||||
[&](const EventTypeByteRange& t) {
|
||||
f << "const uint8_t *" << t.name_data << ", uint32_t " << t.name_length << ")\n";
|
||||
f << "\n const uint8_t *_Nullable " << t.name_data << ", uint32_t " << t.name_length << ")\n";
|
||||
}
|
||||
},
|
||||
t
|
||||
@@ -259,7 +247,7 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
f << " " << event_name_l << "->" << t.name << " = " << t.name << ";\n";
|
||||
},
|
||||
[&](const EventTypeByteRange& t) {
|
||||
f << "\n if (" << event_name_l << "->" << t.name_data << " != nullptr) {\n";
|
||||
f << " if (" << event_name_l << "->" << t.name_data << " != nullptr) {\n";
|
||||
f << " free(" << event_name_l << "->" << t.name_data << ");\n";
|
||||
f << " " << event_name_l << "->" << t.name_data << " = nullptr;\n";
|
||||
f << " " << event_name_l << "->" << t.name_length << " = 0;\n";
|
||||
@@ -308,16 +296,14 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
|
||||
|
||||
// gen contruct
|
||||
f << "non_null()\n";
|
||||
f << "static void tox_event_" << event_name_l << "_construct(Tox_Event_" << event_name << " *" << event_name_l << ")\n{\n";
|
||||
f << "static void tox_event_" << event_name_l << "_construct(Tox_Event_" << event_name << " *_Nonnull " << event_name_l << ")\n{\n";
|
||||
// TODO: initialize all members properly
|
||||
// TODO: check if _NONE is universal
|
||||
// str_toupper(
|
||||
f << " *" << event_name_l << " = (Tox_Event_" << event_name << ") {\n 0\n };\n}\n";
|
||||
|
||||
// gen destruct
|
||||
f << "non_null()\n";
|
||||
f << "static void tox_event_" << event_name_l << "_destruct(Tox_Event_" << event_name << " *" << event_name_l << ", const Memory *mem)\n{\n";
|
||||
f << "static void tox_event_" << event_name_l << "_destruct(Tox_Event_" << event_name << " *_Nonnull " << event_name_l << ", const Memory *_Nonnull mem)\n{\n";
|
||||
size_t data_count = 0;
|
||||
for (const auto& t : event_types) {
|
||||
std::visit(
|
||||
@@ -375,9 +361,7 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
f << ";\n}\n\n";
|
||||
|
||||
// unpack
|
||||
f << "non_null()\n";
|
||||
f << "static bool tox_event_" << event_name_l << "_unpack_into(\n";
|
||||
f << " Tox_Event_" << event_name << " *event, Bin_Unpack *bu)\n{\n";
|
||||
f << "static bool tox_event_" << event_name_l << "_unpack_into(Tox_Event_" << event_name << " *_Nonnull event, Bin_Unpack *_Nonnull bu)\n{\n";
|
||||
f << " assert(event != nullptr);\n";
|
||||
if (event_types.size() > 1) {
|
||||
f << " if (!bin_unpack_array_fixed(bu, " << event_types.size() << ", nullptr)) {\n return false;\n }\n\n";
|
||||
@@ -437,8 +421,7 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
f << " mem_delete(mem, " << event_name_l << ");\n}\n\n";
|
||||
|
||||
// add
|
||||
f << "non_null()\n";
|
||||
f << "static Tox_Event_" << event_name << " *tox_events_add_" << event_name_l << "(Tox_Events *events, const Memory *mem)\n{\n";
|
||||
f << "static Tox_Event_" << event_name << " *tox_events_add_" << event_name_l << "(Tox_Events *_Nonnull events, const Memory *_Nonnull mem)\n{\n";
|
||||
f << " Tox_Event_" << event_name << " *const " << event_name_l << " = tox_event_" << event_name_l << "_new(mem);\n\n";
|
||||
f << " if (" << event_name_l << " == nullptr) {\n";
|
||||
f << " return nullptr;\n }\n\n";
|
||||
@@ -461,8 +444,7 @@ void generate_event_impl(const std::string& event_name, const std::vector<EventT
|
||||
f << " return tox_event_" << event_name_l << "_unpack_into(*event, bu);\n}\n\n";
|
||||
|
||||
// alloc
|
||||
f << "non_null()\n";
|
||||
f << "static Tox_Event_" << event_name << " *tox_event_" << event_name_l << "_alloc(void *user_data)\n{\n";
|
||||
f << "static Tox_Event_" << event_name << " *tox_event_" << event_name_l << "_alloc(void *_Nonnull user_data)\n{\n";
|
||||
f << " Tox_Events_State *state = tox_events_alloc(user_data);\n";
|
||||
f << " assert(state != nullptr);\n\n";
|
||||
f << " if (state->events == nullptr) {\n return nullptr;\n }\n\n";
|
||||
|
@@ -46,7 +46,7 @@ static bool bootstrap_tox(Tox *tox)
|
||||
free(key);
|
||||
|
||||
if (err != TOX_ERR_BOOTSTRAP_OK) {
|
||||
printf("Failed to bootstrap. Error number: %d", err);
|
||||
printf("Failed to bootstrap. Error number: %u", err);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -128,13 +128,13 @@ int main(int argc, char *argv[])
|
||||
tox_self_set_name(tox, name, strlen((const char *)name), &err);
|
||||
|
||||
if (err != TOX_ERR_SET_INFO_OK) {
|
||||
printf("Failed to set name. Error number %d\n", err);
|
||||
printf("Failed to set name. Error number %u\n", err);
|
||||
}
|
||||
|
||||
tox_self_set_status_message(tox, (const uint8_t *)GENERATED_STATUS_MESSAGE, strlen(GENERATED_STATUS_MESSAGE), &err);
|
||||
|
||||
if (err != TOX_ERR_SET_INFO_OK) {
|
||||
printf("Failed to set status. Error number: %d\n", err);
|
||||
printf("Failed to set status. Error number: %u\n", err);
|
||||
}
|
||||
|
||||
for (int i = 2; i < argc; i++) { //start at 2 because that is where the tox ids are
|
||||
@@ -145,7 +145,7 @@ int main(int argc, char *argv[])
|
||||
free(address);
|
||||
|
||||
if (friend_err != TOX_ERR_FRIEND_ADD_OK) {
|
||||
printf("Failed to add friend number %d. Error number: %d\n", i - 1, friend_err);
|
||||
printf("Failed to add friend number %d. Error number: %u\n", i - 1, friend_err);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user