@@ -26,6 +26,16 @@ void jerry_port_init (void);
26
26
void jerry_port_fatal (jerry_fatal_code_t code);
27
27
```
28
28
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
+
29
39
Error codes
30
40
31
41
``` c
@@ -170,52 +180,33 @@ void jerry_port_line_free (jerry_char_t *buffer_p);
170
180
171
181
## Filesystem
172
182
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
-
198
183
``` c
199
184
/* *
200
- * Free a path buffer returned by jerry_port_path_normalize.
185
+ * Get the path style of the current OS
201
186
*
202
- * @param path_p: the path buffer to free
187
+ * @return path style
203
188
*/
204
- void jerry_port_path_free (jerry_char_t * path_p );
189
+ jerry_path_style_t jerry_port_path_style (void );
205
190
```
206
191
207
192
```c
208
193
/**
209
- * Get the offset of the basename component in the input path.
194
+ * Get the cwd, the output string will be zero-terminated
210
195
*
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
213
198
*
214
- * @param path_p: input zero-terminated path string
199
+ * @note
200
+ * - cwd: current working directory
215
201
*
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
217
208
*/
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 );
219
210
```
220
211
221
212
``` c
0 commit comments