diff --git a/lib/client-parser.c b/lib/client-parser.c
index 18e6499b4667941fc16bb0ef1bc8e179e4dafa3d..2151342c4539b21479b27499dc535be5a344f677 100644
--- a/lib/client-parser.c
+++ b/lib/client-parser.c
@@ -32,7 +32,7 @@ int lws_client_rx_sm(struct lws *wsi, unsigned char c)
 
 	if (wsi->u.ws.rx_draining_ext) {
 		struct lws **w = &pt->rx_draining_ext_list;
-		lwsl_ext("%s: RX EXT DRAINING: Removing from list\n", __func__, c);
+		lwsl_ext("%s: RX EXT DRAINING: Removing from list\n", __func__);
 		assert(!c);
 		eff_buf.token = NULL;
 		eff_buf.token_len = 0;
diff --git a/lib/client.c b/lib/client.c
index 1cc62ea868092d7ba2ba8834fde2cc9951c6a594..c819fe75c0fda65a807b225be7f69416537e3c64 100755
--- a/lib/client.c
+++ b/lib/client.c
@@ -37,7 +37,7 @@ lws_handshake_client(struct lws *wsi, unsigned char **buf, size_t len)
 			 * we were accepting input but now we stopped doing so
 			 */
 			if (!(wsi->rxflow_change_to & LWS_RXFLOW_ALLOW)) {
-				lwsl_debug("%s: caching %d\n", __func__, len);
+				lwsl_debug("%s: caching %ld\n", __func__, (long)len);
 				lws_rxflow_cache(wsi, *buf, 0, len);
 				return 0;
 			}
@@ -57,7 +57,7 @@ lws_handshake_client(struct lws *wsi, unsigned char **buf, size_t len)
 			}
 			len--;
 		}
-		lwsl_debug("%s: finished with %d\n", __func__, len);
+		lwsl_debug("%s: finished with %ld\n", __func__, (long)len);
 		return 0;
 	default:
 		break;
diff --git a/lib/context.c b/lib/context.c
index baa7485565cf72d17d8fe6e6957a929ec8024976..829abdf117054b4ed843080d9dbdea25349851aa 100644
--- a/lib/context.c
+++ b/lib/context.c
@@ -592,7 +592,7 @@ lws_create_context(struct lws_context_creation_info *info)
 	lwsl_info(" LWS_MAX_PROTOCOLS     : %u\n", LWS_MAX_PROTOCOLS);
 	lwsl_info(" LWS_MAX_SMP           : %u\n", LWS_MAX_SMP);
 	lwsl_info(" SPEC_LATEST_SUPPORTED : %u\n", SPEC_LATEST_SUPPORTED);
-	lwsl_info(" sizeof (*info)        : %u\n", sizeof(*info));
+	lwsl_info(" sizeof (*info)        : %ld\n", (long)sizeof(*info));
 #if LWS_POSIX
 	lwsl_info(" SYSTEM_RANDOM_FILEPATH: '%s'\n", SYSTEM_RANDOM_FILEPATH);
 #endif
@@ -734,20 +734,20 @@ lws_create_context(struct lws_context_creation_info *info)
 	context->lws_uv_sigint_cb = &lws_uv_sigint_cb;
 #endif
 
-	lwsl_info(" mem: context:         %5u bytes (%d ctx + (%d thr x %d))\n",
-		  sizeof(struct lws_context) +
+	lwsl_info(" mem: context:         %5lu bytes (%ld ctx + (%ld thr x %d))\n",
+		  (long)sizeof(struct lws_context) +
 		  (context->count_threads * context->pt_serv_buf_size),
-		  sizeof(struct lws_context),
-		  context->count_threads,
+		  (long)sizeof(struct lws_context),
+		  (long)context->count_threads,
 		  context->pt_serv_buf_size);
 
-	lwsl_info(" mem: http hdr rsvd:   %5u bytes (%u thr x (%u + %u) x %u))\n",
-		    (context->max_http_header_data +
+	lwsl_info(" mem: http hdr rsvd:   %5lu bytes (%u thr x (%u + %lu) x %u))\n",
+		    (long)(context->max_http_header_data +
 		     sizeof(struct allocated_headers)) *
 		    context->max_http_header_pool * context->count_threads,
 		    context->count_threads,
 		    context->max_http_header_data,
-		    sizeof(struct allocated_headers),
+		    (long)sizeof(struct allocated_headers),
 		    context->max_http_header_pool);
 	n = sizeof(struct lws_pollfd) * context->count_threads *
 	    context->fd_limit_per_thread;
diff --git a/lib/extension-permessage-deflate.c b/lib/extension-permessage-deflate.c
index ec9c809227e5c425ab0a911eecc5acb9ec25745e..bdaca7f80527e7125784c626e91c6eb2c046dabf 100644
--- a/lib/extension-permessage-deflate.c
+++ b/lib/extension-permessage-deflate.c
@@ -303,7 +303,7 @@ lws_extension_callback_pm_deflate(struct lws_context *context,
 		priv->count_rx_between_fin += eff_buf->token_len;
 
 		lwsl_ext("  %s: RX leaving with new effbuff len %d, "
-			 "ret %d, rx.avail_in=%d, TOTAL RX since FIN %d\n",
+			 "ret %d, rx.avail_in=%d, TOTAL RX since FIN %ld\n",
 			 __func__, eff_buf->token_len, priv->rx_held_valid,
 			 priv->rx.avail_in, priv->count_rx_between_fin);
 
diff --git a/lib/handshake.c b/lib/handshake.c
index 0016e3fa27abd4b4ddeee4bbdb88516b1b0474a2..cf7e44e6bc9e2884b92de8edeca2a162bd9fb847 100644
--- a/lib/handshake.c
+++ b/lib/handshake.c
@@ -129,7 +129,7 @@ lws_read(struct lws *wsi, unsigned char *buf, size_t len)
 		 * appropriately:
 		 */
 		len -= (buf - last_char);
-		lwsl_debug("%s: thinks we have used %d\n", __func__, len);
+		lwsl_debug("%s: thinks we have used %ld\n", __func__, (long)len);
 
 		if (!wsi->hdr_parsing_completed)
 			/* More header content on the way */
@@ -245,7 +245,7 @@ postbody_completion:
 
 read_ok:
 	/* Nothing more to do for now */
-	lwsl_info("%s: read_ok, used %d\n", __func__, buf - oldbuf);
+	lwsl_info("%s: read_ok, used %ld\n", __func__, buf - oldbuf);
 
 	return buf - oldbuf;
 
diff --git a/lib/lejp-conf.c b/lib/lejp-conf.c
index b35b0290df3fc9ab13de3460480575f6fd5217eb..531f93be55ff933f7c504a7a2f300f6e394a444d 100644
--- a/lib/lejp-conf.c
+++ b/lib/lejp-conf.c
@@ -759,7 +759,7 @@ lwsws_get_config_d(void *user, const char *d, const char * const *paths,
 
 	n = scandir(d, &namelist, filter, alphasort);
 	if (n < 0) {
-		lwsl_err("Scandir on %d failed\n", d);
+		lwsl_err("Scandir on %s failed\n", d);
 	}
 
 	for (i = 0; i < n; i++) {
diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index 4ac3d1d72b0f58d4b4e8ac4b097071bf50b369eb..c9727ec4a622b3722b67e6b667eb00bfa65135dc 100755
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -1106,9 +1106,9 @@ lws_get_protocol(struct lws *wsi)
 LWS_VISIBLE int
 lws_is_final_fragment(struct lws *wsi)
 {
-	lwsl_info("%s: final %d, rx pk length %d, draining %d", __func__,
-			wsi->u.ws.final, wsi->u.ws.rx_packet_length,
-			wsi->u.ws.rx_draining_ext);
+	lwsl_info("%s: final %d, rx pk length %ld, draining %ld", __func__,
+			wsi->u.ws.final, (long)wsi->u.ws.rx_packet_length,
+			(long)wsi->u.ws.rx_draining_ext);
 	return wsi->u.ws.final && !wsi->u.ws.rx_packet_length && !wsi->u.ws.rx_draining_ext;
 }
 
@@ -1134,8 +1134,8 @@ lws_ensure_user_space(struct lws *wsi)
 			return 1;
 		}
 	} else
-		lwsl_info("%s: %p protocol pss %u, user_space=%d\n",
-			  __func__, wsi, wsi->protocol->per_session_data_size,
+		lwsl_info("%s: %p protocol pss %lu, user_space=%p\n",
+			  __func__, wsi, (long)wsi->protocol->per_session_data_size,
 			  wsi->user_space);
 	return 0;
 }
diff --git a/lib/output.c b/lib/output.c
index 6254d5a6c8bbf87168455628b47b231684561028..5136d6e0d646888b48c9507494c48ed2932b5f4f 100644
--- a/lib/output.c
+++ b/lib/output.c
@@ -171,16 +171,16 @@ handle_truncated_send:
 	 * we were already handling a truncated send?
 	 */
 	if (wsi->trunc_len) {
-		lwsl_info("%p partial adv %d (vs %d)\n", wsi, n, real_len);
+		lwsl_info("%p partial adv %d (vs %ld)\n", wsi, n, (long)real_len);
 		wsi->trunc_offset += n;
 		wsi->trunc_len -= n;
 
 		if (!wsi->trunc_len) {
-			lwsl_info("***** %x partial send completed\n", wsi);
+			lwsl_info("***** %p partial send completed\n", wsi);
 			/* done with it, but don't free it */
 			n = real_len;
 			if (wsi->state == LWSS_FLUSHING_STORED_SEND_BEFORE_CLOSE) {
-				lwsl_info("***** %x signalling to close now\n", wsi);
+				lwsl_info("***** %p signalling to close now\n", wsi);
 				return -1; /* retry closing now */
 			}
 		}
diff --git a/lib/pollfd.c b/lib/pollfd.c
index 2284269bb4c0913cdca56fc8bf12e96a47518aa1..f68b72a54a32d98ec06bf8839137ff365b133a89 100644
--- a/lib/pollfd.c
+++ b/lib/pollfd.c
@@ -241,7 +241,6 @@ remove_wsi_socket_from_fds(struct lws *wsi)
 		//lwsl_err("null wsi->prev\n");
 	/* our next should point back to our prev */
 	if (wsi->same_vh_protocol_next) {
-		lwsl_info("have next %p\n");
 		wsi->same_vh_protocol_next->same_vh_protocol_prev =
 				wsi->same_vh_protocol_prev;
 	} //else
diff --git a/lib/server.c b/lib/server.c
index f3fcd92c41ee7816672dcf069b3f381e698c4c5c..82add22acf4e86b1fdf5fbf5e834ec7bfb524433 100644
--- a/lib/server.c
+++ b/lib/server.c
@@ -1017,7 +1017,7 @@ lws_http_action(struct lws *wsi)
 		n = lws_cgi(wsi, cmd, hit->mountpoint_len, n,
 			    hit->cgienv);
 		if (n) {
-			lwsl_err("%s: cgi failed\n");
+			lwsl_err("%s: cgi failed\n", __func__);
 			return -1;
 		}
 		p = buffer + LWS_PRE;
@@ -2324,7 +2324,7 @@ lws_interpret_incoming_packet(struct lws *wsi, unsigned char **buf, size_t len)
 		 */
 		if (!(wsi->rxflow_change_to & LWS_RXFLOW_ALLOW)) {
 			lws_rxflow_cache(wsi, *buf, 0, len);
-			lwsl_parser("%s: cached %d\n", __func__, len);
+			lwsl_parser("%s: cached %ld\n", __func__, (long)len);
 			return 1;
 		}
 
diff --git a/lib/ssl-server.c b/lib/ssl-server.c
index ac0710a443e45cba5e764e75e498f4940a1b6034..10fee9fbfd5bf4e541db25b6e2ebbf5e881969e8 100644
--- a/lib/ssl-server.c
+++ b/lib/ssl-server.c
@@ -389,7 +389,7 @@ lws_context_init_server_ssl(struct lws_context_creation_info *info,
 		SSL_CTX_clear_options(vhost->ssl_ctx, info->ssl_options_clear);
 #endif
 
-	lwsl_info(" SSL options 0x%X\n",
+	lwsl_info(" SSL options 0x%lX\n",
 		    SSL_CTX_get_options(vhost->ssl_ctx));
 
 	if (vhost->use_ssl) {
diff --git a/plugins/generic-sessions/handlers.c b/plugins/generic-sessions/handlers.c
index f80c8819564a036c3e7d187c37b17f64a6234ac0..f450a1934ec2061b99f7e23f10d1e6d9da6c7128 100644
--- a/plugins/generic-sessions/handlers.c
+++ b/plugins/generic-sessions/handlers.c
@@ -258,7 +258,7 @@ reply:
 
 	n = lws_write(wsi, start, p - start, LWS_WRITE_HTTP_HEADERS);
 	if (n != (p - start)) {
-		lwsl_err("_write returned %d from %d\n", n, (p - start));
+		lwsl_err("_write returned %d from %ld\n", n, (long)(p - start));
 		return -1;
 	}
 	n = lws_write(wsi, (unsigned char *)s, 1, LWS_WRITE_HTTP);
diff --git a/plugins/generic-sessions/protocol_generic_sessions.c b/plugins/generic-sessions/protocol_generic_sessions.c
index 3c1bf8d69bedcf6ea2c1cb1ba9b3632150bb67fc..67e0683649781f4d25d639f381650b5ba0256533 100644
--- a/plugins/generic-sessions/protocol_generic_sessions.c
+++ b/plugins/generic-sessions/protocol_generic_sessions.c
@@ -420,7 +420,7 @@ callback_generic_sessions(struct lws *wsi, enum lws_callback_reasons reason,
 		break;
 
 	case LWS_CALLBACK_HTTP:
-		lwsl_info("LWS_CALLBACK_HTTP: %s\n", in);
+		lwsl_info("LWS_CALLBACK_HTTP: %s\n", (const char *)in);
 
 		pss->login_session.id[0] = '\0';
 		pss->phs.pos = 0;
@@ -452,7 +452,7 @@ callback_generic_sessions(struct lws *wsi, enum lws_callback_reasons reason,
 
 		/* if no legitimate url for GET, return 404 */
 
-		lwsl_err("http doing 404 on %s\n", in);
+		lwsl_err("http doing 404 on %s\n", (const char *)in);
 		lws_return_http_status(wsi, HTTP_STATUS_NOT_FOUND, NULL);
 		goto try_to_reuse;
 
diff --git a/plugins/generic-sessions/protocol_lws_messageboard.c b/plugins/generic-sessions/protocol_lws_messageboard.c
index 472f3e1b11dfbc74b84d2b3ef437110dd976dd28..4b2275c7e3d14b02dea8fd80e71c8d039522420a 100644
--- a/plugins/generic-sessions/protocol_lws_messageboard.c
+++ b/plugins/generic-sessions/protocol_lws_messageboard.c
@@ -330,7 +330,7 @@ callback_messageboard(struct lws *wsi, enum lws_callback_reasons reason,
 			return -1;
 		n = lws_write(wsi, start, p - start, LWS_WRITE_HTTP_HEADERS);
 		if (n != (p - start)) {
-			lwsl_err("_write returned %d from %d\n", n, (p - start));
+			lwsl_err("_write returned %d from %ld\n", n, (long)(p - start));
 			return -1;
 		}
 		s[0] = '0';
diff --git a/plugins/protocol_client_loopback_test.c b/plugins/protocol_client_loopback_test.c
index 6468aa1ad3efa52d9557232dfe70a4f16c3c1162..687a4cd8ea9dbca0af9a140435221c687fb3b4bc 100644
--- a/plugins/protocol_client_loopback_test.c
+++ b/plugins/protocol_client_loopback_test.c
@@ -151,7 +151,7 @@ callback_client_loopback_test(struct lws *wsi, enum lws_callback_reasons reason,
 
 	case LWS_CALLBACK_CLIENT_RECEIVE:
 		strncpy(buf, in, sizeof(buf) - 1);
-		lwsl_notice("Client connection received %d from server '%s'\n", len, buf);
+		lwsl_notice("Client connection received %ld from server '%s'\n", (long)len, buf);
 
 		/* OK we are done with the client connection */
 		return -1;
diff --git a/test-server/test-echo.c b/test-server/test-echo.c
index 92aadee6c435049485baa7a5101ae3f0007041b6..df6e41e4eff181f45ba98f56ddc5ad8d86b3f4b4 100644
--- a/test-server/test-echo.c
+++ b/test-server/test-echo.c
@@ -107,8 +107,8 @@ do_tx:
 do_rx:
 		pss->final = lws_is_final_fragment(wsi);
 		pss->binary = lws_frame_is_binary(wsi);
-		lwsl_info("+++ test-echo: RX len %d final %d, pss->len=%d\n",
-			  len, pss->final, (int)pss->len);
+		lwsl_info("+++ test-echo: RX len %ld final %ld, pss->len=%ld\n",
+			  (long)len, (long)pss->final, (long)pss->len);
 
 		memcpy(&pss->buf[LWS_PRE], in, len);
 		assert((int)pss->len == -1);
diff --git a/test-server/test-server-http.c b/test-server/test-server-http.c
index 46913bc671124f33dffd23d135e183ec262f0bda..272ef9459c8eb55cdd65b0e9a7112a82e3e7dda8 100644
--- a/test-server/test-server-http.c
+++ b/test-server/test-server-http.c
@@ -212,7 +212,7 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
 	switch (reason) {
 	case LWS_CALLBACK_HTTP:
 
-		lwsl_info("lws_http_serve: %s\n",in);
+		lwsl_info("lws_http_serve: %s\n", (const char *)in);
 
 		if (debug_level & LLL_INFO) {
 			dump_handshake_info(wsi);