From 0730590e3569485bbed49b53157103e0ad7195ee Mon Sep 17 00:00:00 2001
From: Sergey Lyubka <sergey.lyubka@cesanta.com>
Date: Sun, 13 Sep 2015 20:08:24 +0100
Subject: [PATCH] Fix SSL codepath in restful_server example

    PUBLISHED_FROM=4cd52839b8d2396f50f94f1ce36fa7b4501dc204
---
 examples/restful_server/restful_server.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/examples/restful_server/restful_server.c b/examples/restful_server/restful_server.c
index ce3b1fb50..80c1da193 100644
--- a/examples/restful_server/restful_server.c
+++ b/examples/restful_server/restful_server.c
@@ -51,6 +51,9 @@ int main(int argc, char *argv[]) {
   struct mg_connection *nc;
   int i;
   char *cp;
+#ifdef NS_ENABLE_SSL
+  const char *ssl_cert = NULL;
+#endif
 
   mg_mgr_init(&mgr, NULL);
 
@@ -76,12 +79,7 @@ int main(int argc, char *argv[]) {
 #endif
 #ifdef NS_ENABLE_SSL
     } else if (strcmp(argv[i], "-s") == 0 && i + 1 < argc) {
-      const char *ssl_cert = argv[++i];
-      const char *err_str = mg_set_ssl(nc, ssl_cert, NULL);
-      if (err_str != NULL) {
-        fprintf(stderr, "Error loading SSL cert: %s\n", err_str);
-        exit(1);
-      }
+      ssl_cert = argv[++i];
 #endif
     }
   }
@@ -93,6 +91,16 @@ int main(int argc, char *argv[]) {
     exit(1);
   }
 
+#ifdef NS_ENABLE_SSL
+  if (ssl_cert != NULL) {
+    const char *err_str = mg_set_ssl(nc, ssl_cert, NULL);
+    if (err_str != NULL) {
+      fprintf(stderr, "Error loading SSL cert: %s\n", err_str);
+      exit(1);
+    }
+  }
+#endif
+
   mg_set_protocol_http_websocket(nc);
   s_http_server_opts.document_root = ".";
   s_http_server_opts.enable_directory_listing = "yes";
-- 
GitLab