Browse Source

Enable -Wmissing-prototypes compile option

Mada 6 years ago
parent
commit
f98c7b8136

+ 2 - 1
benc/String.c

@@ -13,12 +13,13 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "memory/Allocator.h"
-#include "benc/String.h"
 #include "util/Bits.h"
 
 #include <stdio.h>
 #include <stdarg.h>
 
+#include "benc/String.h"
+
 /** @see Object.h */
 String* String_new(const char* bytes, struct Allocator* allocator)
 {

+ 2 - 1
benc/serialization/json/JsonBencSerializer.c

@@ -19,6 +19,7 @@
 #include "benc/List.h"
 #include "benc/String.h"
 #include "benc/serialization/BencSerializer.h"
+#include "benc/serialization/json/JsonBencSerializer.h"
 #include "util/Bits.h"
 #include "util/Hex.h"
 
@@ -582,7 +583,7 @@ static const struct BencSerializer SERIALIZER =
     .parseDictionary = parseDictionary
 };
 
-const struct BencSerializer* JsonBencSerializer_get()
+const struct BencSerializer* JsonBencSerializer_get(void)
 {
     return &SERIALIZER;
 }

+ 1 - 1
benc/serialization/json/JsonBencSerializer.h

@@ -19,5 +19,5 @@
 #include "util/Linker.h"
 Linker_require("benc/serialization/json/JsonBencSerializer.c");
 
-const struct BencSerializer* JsonBencSerializer_get();
+const struct BencSerializer* JsonBencSerializer_get(void);
 #endif

+ 1 - 0
benc/serialization/standard/BencMessageReader.c

@@ -17,6 +17,7 @@
 #include "benc/String.h"
 #include "benc/Dict.h"
 #include "benc/List.h"
+#include "benc/serialization/standard/BencMessageReader.h"
 #include "exception/Except.h"
 #include "exception/Jmp.h"
 #include "wire/Message.h"

+ 1 - 0
benc/serialization/standard/BencMessageWriter.c

@@ -17,6 +17,7 @@
 #include "benc/String.h"
 #include "benc/Dict.h"
 #include "benc/List.h"
+#include "benc/serialization/standard/BencMessageWriter.h"
 #include "exception/Except.h"
 #include "wire/Message.h"
 #include "util/Base10.h"

+ 1 - 0
crypto/random/seed/SystemRandomSeed.c

@@ -22,6 +22,7 @@
 #include "crypto/random/seed/LinuxRandomUuidSysctlRandomSeed.h"
 #include "crypto/random/seed/ProcSysKernelRandomUuidRandomSeed.h"
 #include "crypto/random/seed/GetEntropyRandomSeed.h"
+#include "crypto/random/seed/SystemRandomSeed.h"
 
 static RandomSeed_Provider PROVIDERS[] = { RandomSeedProvider_list() };
 #define PROVIDERS_COUNT ((int)(sizeof(PROVIDERS) / sizeof(RandomSeed_Provider)))

+ 1 - 0
dht/Pathfinder.c

@@ -20,6 +20,7 @@
 #include "wire/RouteHeader.h"
 #include "dht/ReplyModule.h"
 #include "dht/EncodingSchemeModule.h"
+#include "dht/Pathfinder_pvt.h"
 #include "dht/SerializationModule.h"
 #include "dht/dhtcore/RouterModule.h"
 #include "dht/dhtcore/RouterModule_admin.h"

+ 1 - 0
dht/ReplyModule.c

@@ -17,6 +17,7 @@
 #include "dht/DHTMessage.h"
 #include "dht/DHTModule.h"
 #include "dht/DHTModuleRegistry.h"
+#include "dht/ReplyModule.h"
 #include "benc/Object.h"
 #include "wire/Message.h"
 

+ 1 - 0
dht/SerializationModule.c

@@ -17,6 +17,7 @@
 #include "dht/DHTMessage.h"
 #include "dht/DHTModule.h"
 #include "dht/DHTModuleRegistry.h"
+#include "dht/SerializationModule.h"
 #include "memory/Allocator.h"
 #include "benc/serialization/standard/BencMessageReader.h"
 #include "benc/serialization/standard/BencMessageWriter.h"

+ 1 - 0
dht/SerializationModule.h

@@ -19,6 +19,7 @@
     #error "this file should not be included in subnode"
 #endif
 
+#include "util/log/Log.h"
 #include "dht/DHTModuleRegistry.h"
 #include "util/Linker.h"
 Linker_require("dht/SerializationModule.c");

+ 1 - 1
dht/dhtcore/NodeStore.c

@@ -453,7 +453,7 @@ static bool findBestParent(struct Node_Two* node, struct NodeStore_pvt* store)
             }
         }
     } while (ret);
-    uint64_t time1 = Time_hrtime(store->eventBase);
+    uint64_t time1 = Time_hrtime();
     if ((int64_t)(time1 - time0) > 1000000) {
         Log_warn(store->logger, "\n\nfindBestParent() took [%lld] ms\n\n",
             (long long) ((time1 - time0) / 1000000));

+ 2 - 0
dht/dhtcore/NodeStore.h

@@ -91,6 +91,8 @@ struct Node_Two* NodeStore_nodeForAddr(struct NodeStore* nodeStore, uint8_t addr
 
 struct Node_Two* NodeStore_closestNode(struct NodeStore* nodeStore, uint64_t path);
 
+struct Node_Two* NodeStore_dumpTable(struct NodeStore* nodeStore, uint32_t index);
+
 struct Node_Link* NodeStore_linkForPath(struct NodeStore* nodeStore, uint64_t path);
 
 void NodeStore_unlinkNodes(struct NodeStore* nodeStore, struct Node_Link* link);

+ 1 - 0
dht/dhtcore/Router.c

@@ -14,6 +14,7 @@
  */
 
 #include "dht/dhtcore/Router.h"
+#include "dht/dhtcore/Router_new.h"
 #include "dht/dhtcore/NodeStore.h"
 #include "dht/dhtcore/RouterModule.h"
 #include "dht/dhtcore/SearchRunner.h"

+ 2 - 2
dht/dhtcore/Router.h

@@ -43,9 +43,9 @@ void Router_sendGetPeers(struct Router* r,
 
 struct Node_Two* Router_lookup(struct Router* r, uint8_t targetAddr[16]);
 
-//void Router_brokenLink(struct Router* r, uint64_t path, uint64_t labelAtErrorHop);
+void Router_brokenLink(struct Router* r, uint64_t path, uint64_t labelAtErrorHop);
 
-//void Router_disconnectedPeer(struct Router* r, uint64_t path);
+void Router_disconnectedPeer(struct Router* r, uint64_t path);
 
 struct Node_Link* Router_linkForPath(struct Router* r, uint64_t path);
 

+ 1 - 0
interface/UDPInterface_admin.c

@@ -22,6 +22,7 @@
 #include "util/events/FakeNetwork.h"
 #include "util/platform/Sockaddr.h"
 #include "crypto/Key.h"
+#include "interface/UDPInterface_admin.h"
 
 struct Context
 {

+ 1 - 0
memory/Allocator_admin.c

@@ -16,6 +16,7 @@
 #include "benc/String.h"
 #include "benc/Dict.h"
 #include "memory/Allocator.h"
+#include "memory/Allocator_admin.h"
 #include "util/Identity.h"
 
 struct Allocator_admin_pvt

+ 1 - 1
net/Benchmark.c

@@ -218,7 +218,7 @@ static void switching(struct Context* ctx)
 }
 
 /** Check if nodes A and C can communicate via B without A knowing that C exists. */
-void Benchmark_runAll()
+void Benchmark_runAll(void)
 {
     struct Allocator* alloc = MallocAllocator_new(1<<22);
     struct Context* ctx = Allocator_calloc(alloc, sizeof(struct Context), 1);

+ 1 - 1
net/Benchmark.h

@@ -18,5 +18,5 @@
 #include "util/Linker.h"
 Linker_require("net/Benchmark.c");
 
-void Benchmark_runAll();
+void Benchmark_runAll(void);
 #endif

+ 1 - 0
net/SwitchPinger_admin.c

@@ -18,6 +18,7 @@
 #include "benc/Int.h"
 #include "dht/Address.h"
 #include "net/SwitchPinger.h"
+#include "net/SwitchPinger_admin.h"
 #include "util/Endian.h"
 #include "util/AddrTools.h"
 #include "crypto/Key.h"

+ 1 - 0
node_build/make.js

@@ -56,6 +56,7 @@ Builder.configure({
         '-Wextra',
         '-Werror',
         '-Wno-pointer-sign',
+        '-Wmissing-prototypes',
         '-pedantic',
         '-D', builder.config.systemName + '=1',
         '-D', 'CJD_PACKAGE_VERSION="' + builder.config.version + '"',

+ 1 - 0
subnode/ReachabilityCollector_admin.c

@@ -16,6 +16,7 @@
 #include "benc/List.h"
 #include "crypto/Key.h"
 #include "subnode/ReachabilityCollector.h"
+#include "subnode/ReachabilityCollector_admin.h"
 #include "util/AddrTools.h"
 #include "util/Identity.h"
 

+ 3 - 1
test/testcjdroute.js

@@ -61,7 +61,9 @@ var generate = module.exports.generate = function (file, builder, isSubnode, cal
         tests.forEach(function (test) {
             var main = /^.*\/([^\/]+)\.c$/.exec(test)[1] + '_main';
             (builder.config['cflags'+test] =
-                builder.config['cflags'+test] || []).push('-D', 'main='+main);
+                builder.config['cflags'+test] || [])
+                .push('-D', 'main='+main,
+                      '-D', main+'(...)='+main+'(int argc, char** argv);int '+main+'(int argc, char** argv)');
             file.links.push(test);
             listContent.push('{ .func = '+main+', .name = "'+test.replace(/^.*\/|.c$/g, '')+'" },');
             prototypes.push('int '+main+'(int argc, char** argv);');

+ 1 - 0
util/AddrTools.c

@@ -12,6 +12,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+#include "util/AddrTools.h"
 #include "util/Bits.h"
 #include "util/Endian.h"
 #include "util/Hex.h"

+ 2 - 2
util/ArchInfo.c

@@ -159,12 +159,12 @@ gcc arch.c
     #error architecture unknown
 #endif
 
-uint32_t ArchInfo_getAuditArch()
+uint32_t ArchInfo_getAuditArch(void)
 {
     return ARCH;
 }
 
-char* ArchInfo_getArchStr()
+char* ArchInfo_getArchStr(void)
 {
     return ARCHSTR;
 }

+ 2 - 2
util/ArchInfo.h

@@ -20,8 +20,8 @@ Linker_require("util/ArchInfo.c");
 
 #include <stdint.h>
 
-uint32_t ArchInfo_getAuditArch();
+uint32_t ArchInfo_getAuditArch(void);
 
-char* ArchInfo_getArchStr();
+char* ArchInfo_getArchStr(void);
 
 #endif

+ 2 - 2
util/Seccomp.c

@@ -414,7 +414,7 @@ void Seccomp_dropPermissions(struct Allocator* tempAlloc, struct Log* logger, st
     }
 }
 
-int Seccomp_isWorking()
+int Seccomp_isWorking(void)
 {
     errno = 0;
     // If seccomp is not working, this will fail setting errno to EINVAL
@@ -428,7 +428,7 @@ int Seccomp_isWorking()
     return (ret == -1 && err == IS_WORKING_ERRNO) || (ret == -IS_WORKING_ERRNO && err == 0);
 }
 
-int Seccomp_exists()
+int Seccomp_exists(void)
 {
     return 1;
 }

+ 2 - 2
util/Seccomp.h

@@ -23,8 +23,8 @@
 
 void Seccomp_dropPermissions(struct Allocator* tempAlloc, struct Log* logger, struct Except* eh);
 
-int Seccomp_isWorking();
+int Seccomp_isWorking(void);
 
-int Seccomp_exists();
+int Seccomp_exists(void);
 
 #endif

+ 1 - 0
util/Security_admin.c

@@ -19,6 +19,7 @@
 #include "exception/Jmp.h"
 #include "util/log/Log.h"
 #include "util/Security.h"
+#include "util/Security_admin.h"
 
 struct Context
 {

+ 2 - 2
util/SysInfo.c

@@ -21,7 +21,7 @@
 
 #include <stdio.h>
 
-struct SysInfo SysInfo_detect()
+struct SysInfo SysInfo_detect(void)
 {
     struct SysInfo out = { .os = 0 };
     if (Defined(linux)) {
@@ -48,7 +48,7 @@ struct SysInfo SysInfo_detect()
     return out;
 }
 
-char* getName(enum SysInfo_Os os)
+static char* getName(enum SysInfo_Os os)
 {
     switch (os) {
         case SysInfo_Os_LINUX: return "linux";

+ 1 - 1
util/SysInfo.h

@@ -40,7 +40,7 @@ struct SysInfo
 };
 Assert_compileTime(sizeof(struct SysInfo) == 4);
 
-struct SysInfo SysInfo_detect();
+struct SysInfo SysInfo_detect(void);
 
 char* SysInfo_describe(struct SysInfo si, struct Allocator* alloc);
 

+ 1 - 1
util/events/Time.h

@@ -22,7 +22,7 @@ Linker_require("util/events/libuv/Time.c");
 #include <stdint.h>
 
 /** Nanosecond time which has no relationship to any wall clock. */
-uint64_t Time_hrtime();
+uint64_t Time_hrtime(void);
 
 // Monotonic time based on wall clock at time of node startup.
 // CAUTION: only updated once per tick, not for profiling.

+ 1 - 1
util/events/libuv/Time.c

@@ -16,7 +16,7 @@
 #include "util/events/Time.h"
 #include "util/events/libuv/EventBase_pvt.h"
 
-uint64_t Time_hrtime()
+uint64_t Time_hrtime(void)
 {
     return uv_hrtime();
 }

+ 1 - 1
util/events/libuv/UDPAddrIface.c

@@ -57,7 +57,7 @@ struct UDPAddrIface_WriteRequest_pvt {
     Identity
 };
 
-struct UDPAddrIface_pvt* ifaceForHandle(uv_udp_t* handle)
+static struct UDPAddrIface_pvt* ifaceForHandle(uv_udp_t* handle)
 {
     char* hp = ((char*)handle) - offsetof(struct UDPAddrIface_pvt, uvHandle);
     return Identity_check((struct UDPAddrIface_pvt*) hp);