@@ -26,6 +26,16 @@ void jerry_port_init (void);
2626void jerry_port_fatal (jerry_fatal_code_t code);
2727```
2828
29+ The path style of the OS
30+
31+ ``` c
32+ typedef enum
33+ {
34+ JERRY_PATH_STYLE_WINDOWS,
35+ JERRY_PATH_STYLE_POSIX,
36+ } jerry_path_style_t ;
37+ ```
38+
2939Error codes
3040
3141``` c
@@ -170,52 +180,33 @@ void jerry_port_line_free (jerry_char_t *buffer_p);
170180
171181## Filesystem
172182
173- ```
174- /**
175- * Canonicalize a file path.
176- *
177- * If possible, the implementation should resolve symbolic links and other directory references found in the input path,
178- * and create a fully canonicalized file path as the result.
179- *
180- * The function may return with NULL in case an error is encountered, in which case the calling operation will not
181- * proceed.
182- *
183- * The implementation should allocate storage for the result path as necessary. Non-NULL return values will be passed
184- * to `jerry_port_path_free` when the result is no longer needed by the caller, which can be used to finalize
185- * dynamically allocated buffers.
186- *
187- * NOTE: The implementation must not return directly with the input, as the input buffer is released after the call.
188- *
189- * @param path_p: zero-terminated string containing the input path
190- * @param path_size: size of the input path string in bytes, excluding terminating zero
191- *
192- * @return buffer with the normalized path if the operation is successful,
193- * NULL otherwise
194- */
195- jerry_char_t *jerry_port_path_normalize (const jerry_char_t *path_p, jerry_size_t path_size);
196- ```
197-
198183``` c
199184/* *
200- * Free a path buffer returned by jerry_port_path_normalize.
185+ * Get the path style of the current OS
201186 *
202- * @param path_p: the path buffer to free
187+ * @return path style
203188 */
204- void jerry_port_path_free (jerry_char_t * path_p );
189+ jerry_path_style_t jerry_port_path_style (void );
205190```
206191
207192```c
208193/**
209- * Get the offset of the basename component in the input path.
194+ * Get the cwd, the output string will be zero-terminated
210195 *
211- * The implementation should return the offset of the first character after the last path separator found in the path.
212- * This is used by the caller to split the path into a directory name and a file name.
196+ * @param buffer_p: the buffer to storage the cwd
197+ * @param buffer_size: the `buffer_p` buffer size, including '\0` terminator
213198 *
214- * @param path_p: input zero-terminated path string
199+ * @note
200+ * - cwd: current working directory
215201 *
216- * @return offset of the basename component in the input path
202+ * @return The length of cwd, excluding '\0' terminator
203+ * - When buffer_p is `NULL` and get cwd succeed return length of cwd
204+ * - When buffer_p is `NULL` and get cwd failed return 0
205+ * - When buffer_p is not `NULL` and the `buffer_size - 1` just equal to
206+ * length of cwd; and get cwd succeed return `buffer_size - 1`.
207+ * - Otherwise means get cwd failed and return 0
217208 */
218- jerry_size_t jerry_port_path_base (const jerry_char_t *path_p );
209+ jerry_size_t jerry_port_get_cwd ( jerry_char_t *buffer_p, jerry_size_t buffer_size );
219210```
220211
221212``` c
0 commit comments