diff --git a/docs/c-api/util.h/mg_mk_str.md b/docs/c-api/util.h/mg_mk_str.md index 89afcefde4e4a6569b140fd0ee1a4b9fc6c3bec7..4862e8625f5f3abb015670c5f978baf45eda213c 100644 --- a/docs/c-api/util.h/mg_mk_str.md +++ b/docs/c-api/util.h/mg_mk_str.md @@ -1,11 +1,10 @@ --- -title: "mg_mk_str()" -decl_name: "mg_mk_str" +title: "MG_MK_STR()" +decl_name: "MG_MK_STR" symbol_kind: "func" signature: | - struct mg_str mg_mk_str(const char *s); + #define MG_MK_STR(str_literal); --- -A helper function for creating mg_str struct from plain C string. -`NULL` is allowed and becomes `{NULL, 0}`. +Macro for initializing mg_str. diff --git a/mongoose.c b/mongoose.c index 241298455aa95c8d44cda25231882542f4709ce5..9635fcecc6fb1243aae768a7daca07c2ce02d338 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2269,7 +2269,7 @@ void mg_mgr_init(struct mg_mgr *m, void *user_data) { static enum v7_err mg_send_js(struct v7 *v7, v7_val_t *res) { v7_val_t arg0 = v7_arg(v7, 0); v7_val_t arg1 = v7_arg(v7, 1); - struct mg_connection *c = (struct mg_connection *) v7_get_ptr(arg0); + struct mg_connection *c = (struct mg_connection *) v7_get_ptr(v7, arg0); size_t len = 0; if (v7_is_string(arg1)) { @@ -2277,7 +2277,7 @@ static enum v7_err mg_send_js(struct v7 *v7, v7_val_t *res) { mg_send(c, data, len); } - *res = v7_mk_number(len); + *res = v7_mk_number(v7, len); return V7_OK; } @@ -5183,9 +5183,9 @@ void mg_http_handler(struct mg_connection *nc, int ev, void *ev_data) { } /* Invoke callback. TODO(lsm): report errors */ - v7_array_push(v7, args, v7_mk_foreign(nc)); + v7_array_push(v7, args, v7_mk_foreign(v7, nc)); v7_array_push(v7, args, req); - if (v7_apply(v7, v2, v7_mk_undefined(), args, &res) == V7_OK && + if (v7_apply(v7, v2, V7_UNDEFINED, args, &res) == V7_OK && v7_is_truthy(v7, res)) { js_callback_handled_request++; } diff --git a/mongoose.h b/mongoose.h index 0d4ecc986c6f2a38c6334732ccf978c0fca8bcbc..c54e05a7126473077eeb7b0cb93de77af1e135b2 100644 --- a/mongoose.h +++ b/mongoose.h @@ -104,10 +104,12 @@ #define NORETURN __attribute__((noreturn)) #define NOINLINE __attribute__((noinline)) #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#define NOINSTR __attribute__((no_instrument_function)) #else #define NORETURN #define NOINLINE #define WARN_UNUSED_RESULT +#define NOINSTR #endif /* __GNUC__ */ #ifndef ARRAY_SIZE