summaryrefslogtreecommitdiffstats
path: root/src/plugins/http_static/http_static.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/http_static/http_static.c')
-rw-r--r--src/plugins/http_static/http_static.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/plugins/http_static/http_static.c b/src/plugins/http_static/http_static.c
index d4ec2983680..41601f96321 100644
--- a/src/plugins/http_static/http_static.c
+++ b/src/plugins/http_static/http_static.c
@@ -26,6 +26,8 @@
/* define message IDs */
#include <http_static/http_static_msg_enum.h>
+#include <vpp/api/types.h>
+
/* define message structures */
#define vl_typedefs
#include <http_static/http_static_all_api_h.h>
@@ -64,14 +66,22 @@ static void vl_api_http_static_enable_t_handler
vl_api_http_static_enable_reply_t *rmp;
http_static_main_t *hmp = &http_static_main;
int rv;
+ u8 *www_root;
+ u8 *uri;
+
+ char *p = (char *) &mp->www_root;
+ www_root =
+ format (0, "%s%c", vl_api_from_api_string_c ((vl_api_string_t *) p), 0),
+ p += vl_api_string_len ((vl_api_string_t *) p) + sizeof (vl_api_string_t);
+ uri =
+ format (0, "%s%c", vl_api_from_api_string_c ((vl_api_string_t *) p), 0);
- mp->uri[ARRAY_LEN (mp->uri) - 1] = 0;
- mp->www_root[ARRAY_LEN (mp->www_root) - 1] = 0;
rv = http_static_server_enable_api
- (ntohl (mp->fifo_size), ntohl (mp->cache_size_limit),
+ (ntohl (mp->fifo_size),
+ ntohl (mp->cache_size_limit),
ntohl (mp->prealloc_fifos),
- ntohl (mp->private_segment_size), mp->www_root, mp->uri);
+ ntohl (mp->private_segment_size), www_root, uri);
REPLY_MACRO (VL_API_HTTP_STATIC_ENABLE_REPLY);
}