aboutsummaryrefslogtreecommitdiff
path: root/src/nix
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-08-04 20:19:58 -0700
committerJade Lovelace <lix@jade.fyi>2024-08-08 14:53:17 -0700
commite34833c0253340f47dc0add8609eb86cf9cba19b (patch)
tree83e196e01ed4197e8f413f21d16b93cdd60f3d63 /src/nix
parent370ac940dd7816ad4052fafa4e0f8d17784fa16b (diff)
tree-wide: fix a pile of lints
This: - Converts a bunch of C style casts into C++ casts. - Removes some very silly pointer subtraction code (which is no more or less busted on i686 than it began) - Fixes some "technically UB" that never had to be UB in the first place. - Makes finally follow the noexcept status of the inner function. Maybe in the future we should ban the function from not being noexcept, but that is not today. - Makes various locally-used exceptions inherit from std::exception. Change-Id: I22e66972602604989b5e494fd940b93e0e6e9297
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/daemon.cc2
-rw-r--r--src/nix/main.cc8
-rw-r--r--src/nix/why-depends.cc2
3 files changed, 5 insertions, 7 deletions
diff --git a/src/nix/daemon.cc b/src/nix/daemon.cc
index a9211d64a..ca65c38e6 100644
--- a/src/nix/daemon.cc
+++ b/src/nix/daemon.cc
@@ -316,7 +316,7 @@ static void daemonLoop(std::optional<TrustedFlag> forceTrustClientOpt)
socklen_t remoteAddrLen = sizeof(remoteAddr);
AutoCloseFD remote{accept(fdSocket.get(),
- (struct sockaddr *) &remoteAddr, &remoteAddrLen)};
+ reinterpret_cast<struct sockaddr *>(&remoteAddr), &remoteAddrLen)};
checkInterrupt();
if (!remote) {
if (errno == EINTR) continue;
diff --git a/src/nix/main.cc b/src/nix/main.cc
index 2f52a352f..981aa2fc5 100644
--- a/src/nix/main.cc
+++ b/src/nix/main.cc
@@ -1,5 +1,3 @@
-#include <algorithm>
-
#include "args/root.hh"
#include "command.hh"
#include "common-args.hh"
@@ -62,12 +60,12 @@ static bool haveInternet()
for (auto i = addrs; i; i = i->ifa_next) {
if (!i->ifa_addr) continue;
if (i->ifa_addr->sa_family == AF_INET) {
- if (ntohl(((sockaddr_in *) i->ifa_addr)->sin_addr.s_addr) != INADDR_LOOPBACK) {
+ if (ntohl(reinterpret_cast<sockaddr_in *>(i->ifa_addr)->sin_addr.s_addr) != INADDR_LOOPBACK) {
return true;
}
} else if (i->ifa_addr->sa_family == AF_INET6) {
- if (!IN6_IS_ADDR_LOOPBACK(&((sockaddr_in6 *) i->ifa_addr)->sin6_addr) &&
- !IN6_IS_ADDR_LINKLOCAL(&((sockaddr_in6 *) i->ifa_addr)->sin6_addr))
+ if (!IN6_IS_ADDR_LOOPBACK(&reinterpret_cast<sockaddr_in6 *>(i->ifa_addr)->sin6_addr) &&
+ !IN6_IS_ADDR_LINKLOCAL(&reinterpret_cast<sockaddr_in6 *>(i->ifa_addr)->sin6_addr))
return true;
}
}
diff --git a/src/nix/why-depends.cc b/src/nix/why-depends.cc
index 5bef11c4d..6df84e9e4 100644
--- a/src/nix/why-depends.cc
+++ b/src/nix/why-depends.cc
@@ -171,7 +171,7 @@ struct CmdWhyDepends : SourceExprCommand, MixOperateOnOptions
and `dependency`. */
std::function<void(Node &, const std::string &, const std::string &)> printNode;
- struct BailOut { };
+ struct BailOut : std::exception { };
printNode = [&](Node & node, const std::string & firstPad, const std::string & tailPad) {
auto pathS = store->printStorePath(node.path);