|  | @@ -821,24 +821,27 @@ static struct mg_option config_options[] = {
 | 
											
												
													
														|  |  };
 |  |  };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  struct mg_request_handler_info {
 |  |  struct mg_request_handler_info {
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /* Name/Pattern of the URI. */
 | 
											
												
													
														|  |      char *uri;
 |  |      char *uri;
 | 
											
												
													
														|  |      size_t uri_len;
 |  |      size_t uri_len;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    /* URI type: ws/wss (websocket) or http/https (web page). */
 | 
											
												
													
														|  |      int is_websocket_handler;
 |  |      int is_websocket_handler;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    union {
 |  | 
 | 
											
												
													
														|  | -        struct {
 |  | 
 | 
											
												
													
														|  | -            mg_request_handler handler;
 |  | 
 | 
											
												
													
														|  | -        };
 |  | 
 | 
											
												
													
														|  | -        struct {
 |  | 
 | 
											
												
													
														|  | -            mg_websocket_connect_handler connect_handler;
 |  | 
 | 
											
												
													
														|  | -            mg_websocket_ready_handler ready_handler;
 |  | 
 | 
											
												
													
														|  | -            mg_websocket_data_handler data_handler;
 |  | 
 | 
											
												
													
														|  | -            mg_websocket_close_handler close_handler;
 |  | 
 | 
											
												
													
														|  | -        };
 |  | 
 | 
											
												
													
														|  | -    };
 |  | 
 | 
											
												
													
														|  | 
 |  | +    /* Handler for http/https requests. */
 | 
											
												
													
														|  | 
 |  | +    mg_request_handler handler;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    /* Handler for ws/wss (websocket) requests. */
 | 
											
												
													
														|  | 
 |  | +    mg_websocket_connect_handler connect_handler;
 | 
											
												
													
														|  | 
 |  | +    mg_websocket_ready_handler ready_handler;
 | 
											
												
													
														|  | 
 |  | +    mg_websocket_data_handler data_handler;
 | 
											
												
													
														|  | 
 |  | +    mg_websocket_close_handler close_handler;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /* User supplied argument for the handler function. */
 | 
											
												
													
														|  |      void *cbdata;
 |  |      void *cbdata;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /* next request handler in a linked list */
 | 
											
												
													
														|  |      struct mg_request_handler_info *next;
 |  |      struct mg_request_handler_info *next;
 | 
											
												
													
														|  |  };
 |  |  };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -6407,7 +6410,7 @@ static void mg_set_request_handler_type(struct mg_context *ctx,
 | 
											
												
													
														|  |          return;
 |  |          return;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    tmp_rh = (struct mg_request_handler_info *)mg_malloc(sizeof(struct mg_request_handler_info));
 |  | 
 | 
											
												
													
														|  | 
 |  | +    tmp_rh = (struct mg_request_handler_info *)mg_calloc(sizeof(struct mg_request_handler_info), 1);
 | 
											
												
													
														|  |      if (tmp_rh == NULL) {
 |  |      if (tmp_rh == NULL) {
 | 
											
												
													
														|  |          mg_unlock_context(ctx);
 |  |          mg_unlock_context(ctx);
 | 
											
												
													
														|  |          mg_cry(fc(ctx), "%s", "Cannot create new request handler struct, OOM");
 |  |          mg_cry(fc(ctx), "%s", "Cannot create new request handler struct, OOM");
 |