Update the webpage (#1542)
JerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély zsborbely.u-szeged@partner.samsung.com
This commit is contained in:
committed by
László Langó
parent
dd84f11996
commit
b89c74fd39
+109
-2
@@ -1409,6 +1409,109 @@ jerry_string_to_utf8_char_buffer (const jerry_value_t value,
|
|||||||
- [jerry_create_string_from_utf8](#jerrycreatestringfromutf8)
|
- [jerry_create_string_from_utf8](#jerrycreatestringfromutf8)
|
||||||
- [jerry_get_utf8_string_size](#jerrygetutf8stringsize)
|
- [jerry_get_utf8_string_size](#jerrygetutf8stringsize)
|
||||||
|
|
||||||
|
## jerry_substring_to_char_buffer
|
||||||
|
|
||||||
|
**Summary**
|
||||||
|
|
||||||
|
Copy the characters of a cesu-8 encoded substring into a specified buffer.
|
||||||
|
The '\0' character could occur in character buffer. Returns 0, if the value
|
||||||
|
parameter is not a string. It will extract the substring between the
|
||||||
|
specified start position and the end position (or the end of the string,
|
||||||
|
whichever comes first).
|
||||||
|
|
||||||
|
**Prototype**
|
||||||
|
|
||||||
|
```c
|
||||||
|
jerry_size_t
|
||||||
|
jerry_substring_to_char_buffer (const jerry_value_t value,
|
||||||
|
jerry_length_t start_pos,
|
||||||
|
jerry_length_t end_pos,
|
||||||
|
jerry_char_t *buffer_p,
|
||||||
|
jerry_size_t buffer_size);
|
||||||
|
```
|
||||||
|
|
||||||
|
- `value` - input string value
|
||||||
|
- `start_pos` - position of the first character
|
||||||
|
- `end_pos` - position of the last character
|
||||||
|
- `buffer_p` - pointer to output buffer
|
||||||
|
- `buffer_size` - size of the buffer
|
||||||
|
- return value - number of bytes, actually copied to the buffer
|
||||||
|
|
||||||
|
**Example**
|
||||||
|
|
||||||
|
```c
|
||||||
|
{
|
||||||
|
jerry_value_t value;
|
||||||
|
... // create or acquire value
|
||||||
|
|
||||||
|
jerry_size_t req_sz = jerry_get_string_size (value);
|
||||||
|
jerry_char_t str_buf_p[req_sz];
|
||||||
|
jerry_length_t start_pos = 0;
|
||||||
|
jerry_length_t end_pos = jerry_get_string_length (value);
|
||||||
|
|
||||||
|
jerry_substring_to_char_buffer (value, start_pos, end_pos, str_buf_p, req_sz);
|
||||||
|
|
||||||
|
jerry_release_value (value);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**See also**
|
||||||
|
|
||||||
|
- [jerry_create_string](#jerrycreatestring)
|
||||||
|
- [jerry_get_string_size](#jerrygetstringsize)
|
||||||
|
- [jerry_get_string_length](#jerrygetstringlength)
|
||||||
|
|
||||||
|
## jerry_substring_to_utf8_char_buffer
|
||||||
|
|
||||||
|
**Summary**
|
||||||
|
|
||||||
|
Copy the characters of an utf-8 encoded substring into a specified buffer.
|
||||||
|
The '\0' character could occur in character buffer. Returns 0, if the value
|
||||||
|
parameter is not a string. It will extract the substring between the specified
|
||||||
|
start position and the end position (or the end of the string, whichever
|
||||||
|
comes first).
|
||||||
|
|
||||||
|
**Prototype**
|
||||||
|
|
||||||
|
```c
|
||||||
|
jerry_size_t
|
||||||
|
jerry_substring_to_utf8_char_buffer (const jerry_value_t value,
|
||||||
|
jerry_length_t start_pos,
|
||||||
|
jerry_length_t end_pos,
|
||||||
|
jerry_char_t *buffer_p,
|
||||||
|
jerry_size_t buffer_size);
|
||||||
|
```
|
||||||
|
|
||||||
|
- `value` - input string value
|
||||||
|
- `start_pos` - position of the first character
|
||||||
|
- `end_pos` - position of the last character
|
||||||
|
- `buffer_p` - pointer to output buffer
|
||||||
|
- `buffer_size` - size of the buffer
|
||||||
|
- return value - number of bytes, actually copied to the buffer
|
||||||
|
|
||||||
|
**Example**
|
||||||
|
|
||||||
|
```c
|
||||||
|
{
|
||||||
|
jerry_value_t value;
|
||||||
|
... // create or acquire value
|
||||||
|
|
||||||
|
jerry_size_t req_sz = jerry_get_utf8_string_size (value);
|
||||||
|
jerry_char_t str_buf_p[req_sz];
|
||||||
|
jerry_length_t start_pos = 0;
|
||||||
|
jerry_length_t end_pos = jerry_get_utf8_string_length (value);
|
||||||
|
|
||||||
|
jerry_substring_to_utf8_char_buffer (value, start_pos, end_pos, str_buf_p, req_sz);
|
||||||
|
|
||||||
|
jerry_release_value (value);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**See also**
|
||||||
|
|
||||||
|
- [jerry_create_string_from_utf8](#jerrycreatestring)
|
||||||
|
- [jerry_get_utf8_string_size](#jerrygetutf8stringsize)
|
||||||
|
- [jerry_get_utf8_string_length](#jerrygetutf8stringlength)
|
||||||
# Functions for array object values
|
# Functions for array object values
|
||||||
|
|
||||||
## jerry_get_array_length
|
## jerry_get_array_length
|
||||||
@@ -2774,8 +2877,9 @@ jerry_free_property_descriptor_fields (const jerry_property_descriptor_t *prop_d
|
|||||||
|
|
||||||
**Summary**
|
**Summary**
|
||||||
|
|
||||||
Call function specified by a function value. Error flag
|
Call function specified by a function value. Error flag must
|
||||||
must not be set for any arguments of this function.
|
not be set for any arguments of this function. Value of `this`
|
||||||
|
parameter should be set to `undefined` for non-method calls.
|
||||||
|
|
||||||
*Note*: Returned value must be freed with [jerry_release_value](#jerryreleasevalue) when it
|
*Note*: Returned value must be freed with [jerry_release_value](#jerryreleasevalue) when it
|
||||||
is no longer needed.
|
is no longer needed.
|
||||||
@@ -2817,6 +2921,8 @@ jerry_call_function (const jerry_value_t func_obj_val,
|
|||||||
jerry_release_value (ret_val);
|
jerry_release_value (ret_val);
|
||||||
jerry_release_value (this_val);
|
jerry_release_value (this_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jerry_release_value (val);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -3241,6 +3347,7 @@ jerry_exec_snapshot (const void *snapshot_p,
|
|||||||
size_t global_mode_snapshot_size = jerry_parse_and_save_snapshot (code_to_snapshot_p,
|
size_t global_mode_snapshot_size = jerry_parse_and_save_snapshot (code_to_snapshot_p,
|
||||||
strlen ((const char *) code_to_snapshot_p),
|
strlen ((const char *) code_to_snapshot_p),
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
global_mode_snapshot_buffer,
|
global_mode_snapshot_buffer,
|
||||||
sizeof (global_mode_snapshot_buffer));
|
sizeof (global_mode_snapshot_buffer));
|
||||||
jerry_cleanup ();
|
jerry_cleanup ();
|
||||||
|
|||||||
+13
-11
@@ -20,7 +20,7 @@ by `jerry_release_value`.
|
|||||||
/* The value stored in the 'global' variable contains a live
|
/* The value stored in the 'global' variable contains a live
|
||||||
* reference to the global object. The system also keeps its
|
* reference to the global object. The system also keeps its
|
||||||
* own live reference to the global object. These two references
|
* own live reference to the global object. These two references
|
||||||
* are indepent, and both must be destroyed before the global
|
* are independent, and both must be destroyed before the global
|
||||||
* object can be freed. */
|
* object can be freed. */
|
||||||
|
|
||||||
jerry_release_value (global);
|
jerry_release_value (global);
|
||||||
@@ -57,16 +57,17 @@ following code is an **INCORRECT WAY** of releasing the 3.14 value.
|
|||||||
|
|
||||||
JerryScript API functions returning with a `jerry_value_t` always
|
JerryScript API functions returning with a `jerry_value_t` always
|
||||||
return with a new live reference. Passing a `jerry_value_t` to
|
return with a new live reference. Passing a `jerry_value_t` to
|
||||||
an API function never releases its reference. The next example
|
an API function never releases its reference (unless explicitly
|
||||||
shows this behaviour through property getting and setting.
|
stated in the documentation). The next example shows this
|
||||||
|
behaviour through property getting and setting.
|
||||||
|
|
||||||
```c
|
```c
|
||||||
jerry_value_t prop_value = jerry_get_property (...);
|
jerry_value_t prop_value = jerry_get_property (...);
|
||||||
|
|
||||||
/* The prop_value must be released later because both the base
|
/* The prop_value must be released later because both the base
|
||||||
* object and the prop_value have an independent reference to
|
* object and the prop_value have an independent reference to
|
||||||
* the same JavaScript value. When the operation is failed
|
* the same JavaScript value. When the operation fails, the
|
||||||
* the prop_value contains a live reference to an error object.
|
* prop_value contains a live reference to an error object.
|
||||||
* This reference must be released as well. */
|
* This reference must be released as well. */
|
||||||
|
|
||||||
if (jerry_value_has_error_flag (prop_value))
|
if (jerry_value_has_error_flag (prop_value))
|
||||||
@@ -85,20 +86,21 @@ shows this behaviour through property getting and setting.
|
|||||||
|
|
||||||
/* Property setting is the same. */
|
/* Property setting is the same. */
|
||||||
|
|
||||||
|
jerry_value_t new_prop_value = jerry_create_number (2.718);
|
||||||
jerry_value_t result = jerry_set_property (..., new_prop_value);
|
jerry_value_t result = jerry_set_property (..., new_prop_value);
|
||||||
|
|
||||||
/* If the property set is successful a new reference is created
|
/* If the property set is successful, a new reference is created
|
||||||
* for the value referenced by new_prop_value. The new_prop_value
|
* for the value referenced by new_prop_value. The new_prop_value
|
||||||
* reference must be released regardless the operation is
|
* reference must be released regardless of whether the operation
|
||||||
* successful. */
|
* is successful. */
|
||||||
|
|
||||||
/* The new_prop_value can be passed to other JerryScript API
|
/* The new_prop_value can be passed to other JerryScript API
|
||||||
* functions before the jerry_release_value () call. */
|
* functions before the jerry_release_value () call. */
|
||||||
|
|
||||||
jerry_release_value (new_prop_value);
|
jerry_release_value (new_prop_value);
|
||||||
|
|
||||||
/* The reference stored in 'result' variable contains whether
|
/* The reference stored in the 'result' variable is live whether
|
||||||
* the operation is successful and must also be freed. */
|
* the operation is successful or not, and must also be freed. */
|
||||||
|
|
||||||
if (jerry_value_has_error_flag (result))
|
if (jerry_value_has_error_flag (result))
|
||||||
{
|
{
|
||||||
@@ -179,5 +181,5 @@ References can be duplicated in C as long as only one of them is freed.
|
|||||||
jerry_release_value (c);
|
jerry_release_value (c);
|
||||||
/* Both 'b' and 'c' (boolean true) references become dead. */
|
/* Both 'b' and 'c' (boolean true) references become dead. */
|
||||||
|
|
||||||
/* Since all references are released no memory leak is possible. */
|
/* Since all references are released, no memory leak occurs. */
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<li><a href="{{ site.github.url }}/">Home</a></li>
|
<li><a href="{{ site.github.url }}/">Home</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a href="http://github.com/Samsung/jerryscript">View on Github</a></li>
|
<li><a href="http://github.com/jerryscript-project/jerryscript">View on Github</a></li>
|
||||||
<li><a href="http://www.iotjs.net">Powering <b>IoT.js</b></a></li>
|
<li><a href="http://www.iotjs.net">Powering <b>IoT.js</b></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@ permalink: /
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="learn_more">
|
<div class="learn_more">
|
||||||
<p>To learn more, please visit the <a href="http://github.com/Samsung/jerryscript">project on GitHub.</a></p>
|
<p>To learn more, please visit the <a href="http://github.com/jerryscript-project/jerryscript">project on GitHub.</a></p>
|
||||||
<p>If you want to try JerryScript take a look at our documentation. It includes <a href="{{ site.github.url }}/getting-started/">Getting Started</a> guides and <a href="{{ site.github.url }}/api-reference/">JerryScript APIs reference</a>. </p>
|
<p>If you want to try JerryScript take a look at our documentation. It includes <a href="{{ site.github.url }}/getting-started/">Getting Started</a> guides and <a href="{{ site.github.url }}/api-reference/">JerryScript APIs reference</a>. </p>
|
||||||
<p>Please, report all bugs and feature requests on JerryScript <a href="https://github.com/Samsung/jerryscript/issues">issue tracker</a>. Feel free to ask questions on <a href="https://github.com/Samsung/jerryscript/labels/question">issue tracker</a>.</p>
|
<p>Please, report all bugs and feature requests on JerryScript <a href="https://github.com/jerryscript-project/jerryscript/issues">issue tracker</a>. Feel free to ask questions on <a href="https://github.com/jerryscript-project/jerryscript/labels/question">issue tracker</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user