Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
n-api: add optional string length parameters
  • Loading branch information
Sampson Gao committed Sep 15, 2017
commit 07e9df476c2c11d419286933da4204733163e74a
10 changes: 7 additions & 3 deletions src/node_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -933,12 +933,15 @@ napi_status napi_get_last_error_info(napi_env env,
}

NAPI_NO_RETURN void napi_fatal_error(const char* location,
const char* message) {
size_t location_len,
const char* message,
size_t message_len) {
node::FatalError(location, message);
}

napi_status napi_create_function(napi_env env,
const char* utf8name,
size_t length,
napi_callback cb,
void* callback_data,
napi_value* result) {
Expand All @@ -965,7 +968,7 @@ napi_status napi_create_function(napi_env env,

if (utf8name != nullptr) {
v8::Local<v8::String> name_string;
CHECK_NEW_FROM_UTF8(env, name_string, utf8name);
CHECK_NEW_FROM_UTF8(env, name_string, utf8name, length);
return_value->SetName(name_string);
}

Expand All @@ -976,6 +979,7 @@ napi_status napi_create_function(napi_env env,

napi_status napi_define_class(napi_env env,
const char* utf8name,
size_t length,
napi_callback constructor,
void* callback_data,
size_t property_count,
Expand All @@ -997,7 +1001,7 @@ napi_status napi_define_class(napi_env env,
isolate, v8impl::FunctionCallbackWrapper::Invoke, cbdata);

v8::Local<v8::String> name_string;
CHECK_NEW_FROM_UTF8(env, name_string, utf8name);
CHECK_NEW_FROM_UTF8(env, name_string, utf8name, length);
tpl->SetClassName(name_string);

size_t static_property_count = 0;
Expand Down
6 changes: 5 additions & 1 deletion src/node_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ napi_get_last_error_info(napi_env env,
const napi_extended_error_info** result);

NAPI_EXTERN NAPI_NO_RETURN void napi_fatal_error(const char* location,
const char* message);
size_t location_len,
const char* message,
size_t message_len);

// Getters for defined singletons
NAPI_EXTERN napi_status napi_get_undefined(napi_env env, napi_value* result);
Expand Down Expand Up @@ -154,6 +156,7 @@ NAPI_EXTERN napi_status napi_create_symbol(napi_env env,
napi_value* result);
NAPI_EXTERN napi_status napi_create_function(napi_env env,
const char* utf8name,
size_t length,
napi_callback cb,
void* data,
napi_value* result);
Expand Down Expand Up @@ -336,6 +339,7 @@ NAPI_EXTERN napi_status napi_get_new_target(napi_env env,
NAPI_EXTERN napi_status
napi_define_class(napi_env env,
const char* utf8name,
size_t length,
napi_callback constructor,
void* data,
size_t property_count,
Expand Down