Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the jerry port api documents. #4977

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions docs/05.PORT-API.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ void jerry_port_context_free (void);
*
* The implementation can decide whether error and debug messages are logged to
* the console, or saved to a database or to a file.
*
* @param message_p: the message to log.
*/
void jerry_port_log (const char *message_p);
```
Expand Down
4 changes: 3 additions & 1 deletion jerry-core/include/jerryscript-port.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ void jerry_port_context_free (void);
*
* The implementation can decide whether error and debug messages are logged to
* the console, or saved to a database or to a file.
*
* @param message_p: the message to log.
*/
void jerry_port_log (const char *message_p);

Expand Down Expand Up @@ -246,7 +248,7 @@ void jerry_port_path_free (jerry_char_t *path_p);
jerry_size_t jerry_port_path_base (const jerry_char_t *path_p);

/**
* Open a source file and read the content into a buffer.
* Open a source file and read its contents into a buffer.
*
* When the source file is no longer needed by the caller, the returned pointer will be passed to
* `jerry_port_source_free`, which can be used to finalize the buffer.
Expand Down
15 changes: 0 additions & 15 deletions jerry-port/common/jerry-port-context.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,6 @@
*/
static jerry_context_t *current_context_p = NULL;

/**
* Allocate a new external context.
*
* @param context_size: requested context size
*
* @return total allcoated size
*/
size_t JERRY_ATTR_WEAK
jerry_port_context_alloc (size_t context_size)
{
Expand All @@ -43,20 +36,12 @@ jerry_port_context_alloc (size_t context_size)
return total_size;
} /* jerry_port_context_alloc */

/**
* Get the current context.
*
* @return the pointer to the current context
*/
jerry_context_t *JERRY_ATTR_WEAK
jerry_port_context_get (void)
{
return current_context_p;
} /* jerry_port_context_get */

/**
* Free the currently allocated external context.
*/
void JERRY_ATTR_WEAK
jerry_port_context_free (void)
{
Expand Down
39 changes: 7 additions & 32 deletions jerry-port/common/jerry-port-fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,8 @@ jerry_port_get_file_size (FILE *file_p) /**< opened file */
return (jerry_size_t) size;
} /* jerry_port_get_file_size */

/**
* Opens file with the given path and reads its source.
* @return the source of the file
*/
jerry_char_t *JERRY_ATTR_WEAK
jerry_port_source_read (const char *file_name_p, /**< file name */
jerry_size_t *out_size_p) /**< [out] read bytes */
jerry_port_source_read (const char *file_name_p, jerry_size_t *out_size_p)
{
/* TODO(dbatyai): Temporary workaround for nuttx target
* The nuttx target builds and copies the jerryscript libraries as a separate build step, which causes linking issues
Expand Down Expand Up @@ -92,11 +87,8 @@ jerry_port_source_read (const char *file_name_p, /**< file name */
return buffer_p;
} /* jerry_port_source_read */

/**
* Release the previously opened file's content.
*/
void JERRY_ATTR_WEAK
jerry_port_source_free (uint8_t *buffer_p) /**< buffer to free */
jerry_port_source_free (uint8_t *buffer_p)
{
free (buffer_p);
} /* jerry_port_source_free */
Expand All @@ -107,15 +99,8 @@ jerry_port_source_free (uint8_t *buffer_p) /**< buffer to free */
*/
#if defined(JERRY_WEAK_SYMBOL_SUPPORT) && !(defined(__unix__) || defined(__APPLE__) || defined(_WIN32))

/**
* Normalize a file path.
*
* @return a newly allocated buffer with the normalized path if the operation is successful,
* NULL otherwise
*/
jerry_char_t *JERRY_ATTR_WEAK
jerry_port_path_normalize (const jerry_char_t *path_p, /**< input path */
jerry_size_t path_size) /**< size of the path */
jerry_port_path_normalize (const jerry_char_t *path_p, jerry_size_t path_size)
{
jerry_char_t *buffer_p = (jerry_char_t *) malloc (path_size + 1);

Expand All @@ -128,26 +113,16 @@ jerry_port_path_normalize (const jerry_char_t *path_p, /**< input path */
memcpy (buffer_p, path_p, path_size + 1);

return buffer_p;
} /* jerry_port_normalize_path */
} /* jerry_port_path_normalize */

/**
* Free a path buffer returned by jerry_port_path_normalize.
*
* @param path_p: the path to free
*/
void JERRY_ATTR_WEAK
jerry_port_path_free (jerry_char_t *path_p)
{
free (path_p);
} /* jerry_port_normalize_path */
} /* jerry_port_path_free */

/**
* Computes the end of the directory part of a path.
*
* @return end of the directory part of a path.
*/
jerry_size_t JERRY_ATTR_WEAK
jerry_port_path_base (const jerry_char_t *path_p) /**< path */
jerry_port_path_base (const jerry_char_t *path_p)
{
const jerry_char_t *basename_p = (jerry_char_t *) strrchr ((char *) path_p, '/') + 1;

Expand All @@ -157,6 +132,6 @@ jerry_port_path_base (const jerry_char_t *path_p) /**< path */
}

return (jerry_size_t) (basename_p - path_p);
} /* jerry_port_get_directory_end */
} /* jerry_port_path_base */

#endif /* defined(JERRY_WEAK_SYMBOL_SUPPORT) && !(defined(__unix__) || defined(__APPLE__) || defined(_WIN32)) */
33 changes: 4 additions & 29 deletions jerry-port/common/jerry-port-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,27 @@

#include "jerryscript-port.h"

/**
* Default implementation of jerry_port_log. Prints log messages to stderr.
*/
void JERRY_ATTR_WEAK
jerry_port_log (const char *message_p) /**< message */
jerry_port_log (const char *message_p)
{
fputs (message_p, stderr);
} /* jerry_port_log */

/**
* Default implementation of jerry_port_print_byte. Uses 'putchar' to
* print a single character to standard output.
*/
void JERRY_ATTR_WEAK
jerry_port_print_byte (jerry_char_t byte) /**< the character to print */
jerry_port_print_byte (jerry_char_t byte)
{
putchar (byte);
} /* jerry_port_print_byte */

/**
* Default implementation of jerry_port_print_buffer. Uses 'jerry_port_print_byte' to
* print characters of the input buffer.
*/
void JERRY_ATTR_WEAK
jerry_port_print_buffer (const jerry_char_t *buffer_p, /**< string buffer */
jerry_size_t buffer_size) /**< string size*/
jerry_port_print_buffer (const jerry_char_t *buffer_p, jerry_size_t buffer_size)
{
for (jerry_size_t i = 0; i < buffer_size; i++)
{
jerry_port_print_byte (buffer_p[i]);
}
} /* jerry_port_print_byte */
} /* jerry_port_print_buffer */

/**
* Read a line from standard input as a zero-terminated string.
*
* @param out_size_p: length of the string
*
* @return pointer to the buffer storing the string,
* or NULL if end of input
*/
jerry_char_t *JERRY_ATTR_WEAK
jerry_port_line_read (jerry_size_t *out_size_p)
{
Expand Down Expand Up @@ -94,11 +74,6 @@ jerry_port_line_read (jerry_size_t *out_size_p)
}
} /* jerry_port_line_read */

/**
* Free a line buffer allocated by jerry_port_line_read
*
* @param buffer_p: buffer that has been allocated by jerry_port_line_read
*/
void JERRY_ATTR_WEAK
jerry_port_line_free (jerry_char_t *buffer_p)
{
Expand Down
6 changes: 1 addition & 5 deletions jerry-port/common/jerry-port-process.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@

#include "jerryscript-port.h"

/**
* Default implementation of jerry_port_fatal. Calls 'abort' if exit code is
* non-zero, 'exit' otherwise.
*/
void JERRY_ATTR_WEAK
jerry_port_fatal (jerry_fatal_code_t code) /**< cause of error */
jerry_port_fatal (jerry_fatal_code_t code)
{
if (code != 0 && code != JERRY_FATAL_OUT_OF_MEMORY)
{
Expand Down
11 changes: 0 additions & 11 deletions jerry-port/unix/jerry-port-unix-date.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@
#include <sys/time.h>
#include <time.h>

/**
* Default implementation of jerry_port_local_tza.
*
* @return offset between UTC and local time at the given unix timestamp, if
* available. Otherwise, returns 0, assuming UTC time.
*/
int32_t
jerry_port_local_tza (double unix_ms)
{
Expand Down Expand Up @@ -53,11 +47,6 @@ jerry_port_local_tza (double unix_ms)
#endif /* HAVE_TM_GMTOFF */
} /* jerry_port_local_tza */

/**
* Default implementation of jerry_port_current_time.
*
* @return milliseconds since Unix epoch
*/
double
jerry_port_current_time (void)
{
Expand Down
24 changes: 3 additions & 21 deletions jerry-port/unix/jerry-port-unix-fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,44 +20,26 @@
#include <stdlib.h>
#include <string.h>

/**
* Normalize a file path using realpath.
*
* @param path_p: input path
* @param path_size: input path size
*
* @return a newly allocated buffer with the normalized path if the operation is successful,
* NULL otherwise
*/
jerry_char_t *
jerry_port_path_normalize (const jerry_char_t *path_p, /**< input path */
jerry_size_t path_size) /**< size of the path */
jerry_port_path_normalize (const jerry_char_t *path_p, jerry_size_t path_size)
{
(void) path_size;

return (jerry_char_t *) realpath ((char *) path_p, NULL);
} /* jerry_port_path_normalize */

/**
* Free a path buffer returned by jerry_port_path_normalize.
*/
void
jerry_port_path_free (jerry_char_t *path_p)
{
free (path_p);
} /* jerry_port_path_free */

/**
* Computes the end of the directory part of a path.
*
* @return end of the directory part of a path.
*/
jerry_size_t JERRY_ATTR_WEAK
jerry_port_path_base (const jerry_char_t *path_p) /**< path */
jerry_port_path_base (const jerry_char_t *path_p)
{
const jerry_char_t *basename_p = (jerry_char_t *) strrchr ((char *) path_p, '/') + 1;

return (jerry_size_t) (basename_p - path_p);
} /* jerry_port_get_directory_end */
} /* jerry_port_path_base */

#endif /* defined(__unix__) || defined(__APPLE__) */
5 changes: 1 addition & 4 deletions jerry-port/unix/jerry-port-unix-process.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@

#include <unistd.h>

/**
* Default implementation of jerry_port_sleep, uses 'usleep'.
*/
void
jerry_port_sleep (uint32_t sleep_time) /**< milliseconds to sleep */
jerry_port_sleep (uint32_t sleep_time)
{
usleep ((useconds_t) sleep_time * 1000);
} /* jerry_port_sleep */
Expand Down
15 changes: 2 additions & 13 deletions jerry-port/win/jerry-port-win-date.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ unix_time_to_filetime (double t, LPFILETIME ft_p)

ft_p->dwLowDateTime = (DWORD) ll;
ft_p->dwHighDateTime = (DWORD) (ll >> 32);
} /* unix_time_to_file_time */
} /* unix_time_to_filetime */

/**
* Convert a FILETIME to a unix time value.
Expand All @@ -58,14 +58,8 @@ filetime_to_unix_time (LPFILETIME ft_p)
date.HighPart = ft_p->dwHighDateTime;
date.LowPart = ft_p->dwLowDateTime;
return (double) (((LONGLONG) date.QuadPart - UNIX_EPOCH_IN_TICKS) / TICKS_PER_MS);
} /* FileTimeToUnixTimeMs */
} /* filetime_to_unix_time */

/**
* Default implementation of jerry_port_local_tza.
*
* @return offset between UTC and local time at the given unix timestamp, if
* available. Otherwise, returns 0, assuming UTC time.
*/
int32_t
jerry_port_local_tza (double unix_ms)
{
Expand All @@ -86,11 +80,6 @@ jerry_port_local_tza (double unix_ms)
return 0;
} /* jerry_port_local_tza */

/**
* Default implementation of jerry_port_current_time.
*
* @return milliseconds since Unix epoch
*/
double
jerry_port_current_time (void)
{
Expand Down
19 changes: 1 addition & 18 deletions jerry-port/win/jerry-port-win-fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,37 +20,20 @@
#include <stdlib.h>
#include <string.h>

/**
* Normalize a file path.
*
* @return a newly allocated buffer with the normalized path if the operation is successful,
* NULL otherwise
*/
jerry_char_t *
jerry_port_path_normalize (const jerry_char_t *path_p, /**< input path */
jerry_size_t path_size) /**< size of the path */
jerry_port_path_normalize (const jerry_char_t *path_p, jerry_size_t path_size)
{
(void) path_size;

return (jerry_char_t *) _fullpath (NULL, path_p, _MAX_PATH);
} /* jerry_port_path_normalize */

/**
* Free a path buffer returned by jerry_port_path_normalize.
*/
void
jerry_port_path_free (jerry_char_t *path_p)
{
free (path_p);
} /* jerry_port_path_free */

/**
* Get the end of the directory part of the input path.
*
* @param path_p: input zero-terminated path string
*
* @return offset of the directory end in the input path string
*/
jerry_size_t
jerry_port_path_base (const jerry_char_t *path_p)
{
Expand Down
5 changes: 1 addition & 4 deletions jerry-port/win/jerry-port-win-process.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,8 @@

#include <windows.h>

/**
* Default implementation of jerry_port_sleep, uses 'Sleep'.
*/
void
jerry_port_sleep (uint32_t sleep_time) /**< milliseconds to sleep */
jerry_port_sleep (uint32_t sleep_time)
{
Sleep (sleep_time);
} /* jerry_port_sleep */
Expand Down
Loading