From 619a386006fb4382133695eec18215367c246a36 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Tue, 12 Feb 2019 15:46:48 +0100 Subject: [PATCH] Check command line, clean warnings. --- miniupnpc-libuv/Makefile | 1 + miniupnpc-libuv/example.c | 21 ++++++++++++++++----- miniupnpc-libuv/minissdpc-libuv.c | 16 ++++++++++++---- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/miniupnpc-libuv/Makefile b/miniupnpc-libuv/Makefile index d28d60c..0710c69 100644 --- a/miniupnpc-libuv/Makefile +++ b/miniupnpc-libuv/Makefile @@ -1,6 +1,7 @@ # tested with GNU Make PKG_CONFIG ?= pkg-config +CFLAGS += -g CFLAGS += -Wall -Wextra CFLAGS += $(shell $(PKG_CONFIG) libuv --cflags) LDFLAGS += $(shell $(PKG_CONFIG) libuv --libs-only-L) diff --git a/miniupnpc-libuv/example.c b/miniupnpc-libuv/example.c index d40ea27..63e4478 100644 --- a/miniupnpc-libuv/example.c +++ b/miniupnpc-libuv/example.c @@ -6,19 +6,21 @@ void requestFinish2(void* session, void* userdata, struct UPNPDev* upnpdev) { - struct UPNPDev* it = upnpdev; - while(it != NULL) { + struct UPNPDev* it; + (void)userdata; + + for(it = upnpdev; it != NULL; it = it->pNext) { printf("url = %s\n", it->descURL); printf("st = %s\n", it->st); printf("usn = %s\n", it->usn); printf("\n"); - it = it->pNext; } disconnectFromMiniSSDPD((uv_stream_t*)session); } void requestFinish(void* session, int success, void* userdata) { + (void)userdata; if (success == 0) { printf("Error while requesting results.\n"); @@ -48,8 +50,17 @@ void connect_cb(void* session, void* userdata) int main(int argc, char *argv[]) { - char* pipeName = argv[1]; - char* search = argv[2]; + char* pipeName; + char* search; + + if (argc < 3) { + printf("Usage: %s \n", argv[0]); + printf(" ssdp:all for all devices\n"); + return 1; + } + pipeName = argv[1]; + search = argv[2]; connectToMiniSSDPD(pipeName, &connect_cb, search); uv_run(uv_default_loop(), UV_RUN_DEFAULT); + return 0; } diff --git a/miniupnpc-libuv/minissdpc-libuv.c b/miniupnpc-libuv/minissdpc-libuv.c index 9c6f063..43726fa 100644 --- a/miniupnpc-libuv/minissdpc-libuv.c +++ b/miniupnpc-libuv/minissdpc-libuv.c @@ -88,15 +88,22 @@ static void write_cb(uv_write_t* req, int status) MINIUPNP_LIBSPEC int requestDevicesFromMiniSSDPD(void *session, const char * devtype, void(*requestFinish)(void *connect, int success, void* userdata), void* userdata) { - char *buffer = malloc(256); + char *buffer; + char *p; + unsigned int stsize; + if (devtype == NULL) + { + return MINISSDPC_UNKNOWN_ERROR; + } + stsize = strlen(devtype); + + buffer = malloc(256); if(buffer == NULL) { return MINISSDPC_MEMORY_ERROR; } - - char *p = buffer; - unsigned int stsize = strlen(devtype); + p = buffer; if(stsize == 8 && 0 == memcmp(devtype, "ssdp:all", 8)) { @@ -155,6 +162,7 @@ requestDevicesFromMiniSSDPD(void *session, const char * devtype, void(*requestFi static void alloc_cb(uv_handle_t* handle, size_t size, uv_buf_t* buf) { + (void)handle; buf->base = malloc(size); buf->len = size; }