From 213bf7bf93920ab3b744e6ea5f83919277cd6d50 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 24 Oct 2019 13:43:24 -0700 Subject: [PATCH] Make `__wasi_args_get` and `__wasi_environ_get` docs more explicit. This commit updates the documentation for `__wasi_args_get` and `__wasi_environ_get` to make it explicit that it is the caller's responsibility to allocate a terminating NULL pointer, if necessary. Fixes #27. --- .../ephemeral/docs/wasi_ephemeral_preview.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/phases/ephemeral/docs/wasi_ephemeral_preview.md b/phases/ephemeral/docs/wasi_ephemeral_preview.md index a0bdd1825..ad7bd9bf0 100644 --- a/phases/ephemeral/docs/wasi_ephemeral_preview.md +++ b/phases/ephemeral/docs/wasi_ephemeral_preview.md @@ -117,18 +117,22 @@ modules so that embedders need not implement all of it. Read command-line argument data. -The sizes of the buffers should match that returned by [`__wasi_args_sizes_get()`](#args_sizes_get). - Inputs: - char \*\*argv A pointer to a buffer to write the argument pointers. + The count of elements for the buffer should be at least the value of `argc` returned by [`__wasi_args_sizes_get()`](#args_sizes_get). + + The caller of `__wasi_args_get()` is responsible for allocating an additional element for a terminating NULL pointer, if necessary. + - char \*argv\_buf A pointer to a buffer to write the argument string data. + The size of this buffer should be the value of `argv_buf_size` returned by [`__wasi_args_sizes_get()`](#args_sizes_get). + ### `__wasi_args_sizes_get()` Return command-line argument data sizes. @@ -192,21 +196,25 @@ Outputs: Read environment variable data. -The sizes of the buffers should match that returned by [`__wasi_environ_sizes_get()`](#environ_sizes_get). - Inputs: - char \*\*environ A pointer to a buffer to write the environment variable pointers. + The count of elements for the buffer should be at least the value of `environ_count` returned by [`__wasi_environ_sizes_get()`](#environ_sizes_get). + + The caller of `__wasi_environ_get()` is responsible for allocating an additional element for a terminating NULL pointer, if necessary. + - char \*environ\_buf A pointer to a buffer to write the environment variable string data. + The size of this buffer should be the value of `environ_buf_size` returned by [`__wasi_environ_sizes_get()`](#environ_sizes_get). + ### `__wasi_environ_sizes_get()` -Return command-line argument data sizes. +Return enviroment variable data sizes. Outputs: