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 aa41f8b3525e3749fa460c2ed7f36ca89a5fefc0..5ce8393ac36e23e49538dd486b50fd73b0149b97 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 fdc6eff2f896a7a0dbba26a16cf80253fc90e49a..ec42ce8fc68b30b5b938c3e8be024eba76256a01 100644
--- a/lib/context.c
+++ b/lib/context.c
@@ -570,7 +570,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
@@ -706,20 +706,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 ced9ba5270ae3b40410c79448e7c3e84a172f797..1abf8feba8d0c804eb300c3c620845deb797fea3 100644
--- a/lib/lejp-conf.c
+++ b/lib/lejp-conf.c
@@ -720,7 +720,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 36fb4711d071a4de85d7ee153c4a8112da839fed..e2d08f945eb4792402cdcaf2fb2e09443291ec04 100755
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -1073,9 +1073,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;
 }
 
@@ -1101,8 +1101,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 0b5f0bfff262f2359a35ca7716bf8b1a21f13975..e7a90c71c2fbf965c490ad7758d369e451366958 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 a56908b83a9c5e72908b7b14227792240823618e..a89b688d55bbe94947e46f3178cbb27d7887c436 100644
--- a/lib/pollfd.c
+++ b/lib/pollfd.c
@@ -224,7 +224,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 f63bb8c23a252b59388a163fa06e5ec00c8b434f..207ba1dd1d9607d58d12aa3f2e6928da522bc457 100644
--- a/lib/server.c
+++ b/lib/server.c
@@ -903,7 +903,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;
@@ -2068,7 +2068,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 bd065b321ba4f487253a2ce48e77ffdf878b81ed..c33673e2fefb59ed3419d51d9176876715a22cd9 100644
--- a/lib/ssl-server.c
+++ b/lib/ssl-server.c
@@ -399,7 +399,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 a828c2091fde6689bdf98e037a8d819cb64c96f6..b0a577a6e27ee4db7ecd1c3c5b4c0aaddc6169ea 100644
--- a/plugins/generic-sessions/protocol_generic_sessions.c
+++ b/plugins/generic-sessions/protocol_generic_sessions.c
@@ -414,7 +414,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;
@@ -446,7 +446,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 f42857682840445c73cec3f67e71074379156725..552ba1855b6b7267e2d59832d5853fbb4f6bbef3 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);