Hi Dmitry,

On Tue, Oct 05, 2021 at 11:15:45PM +0300, Dmitry Kozlyuk wrote:
> Hide struct rdline definition and some RDLINE_* constants in order
> to be able to change internal buffer sizes transparently to the user.
> Add new functions:
> 
> * rdline_new(): allocate and initialize struct rdline.
>   This function replaces rdline_init() and takes an extra parameter:
>   opaque user data for the callbacks.
> * rdline_free(): deallocate struct rdline.
> * rdline_get_history_buffer_size(): for use in tests.
> * rdline_get_opaque(): to obtain user data in callback functions.
> 
> Remove rdline_init() function from library headers and export list,
> because using it requires the knowledge of sizeof(struct rdline).
> 
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>

[...]

>  /**
> - * Init fields for a struct rdline. Call this only once at the beginning
> - * of your program.
> - * \param rdl A pointer to an uninitialized struct rdline
> + * Allocate and initialize a new rdline instance.
> + *
> + * \param rdl Receives a pointer to the allocated structure.
>   * \param write_char The function used by the function to write a character
>   * \param validate A pointer to the function to execute when the
>   *                 user validates the buffer.
>   * \param complete A pointer to the function to execute when the
>   *                 user completes the buffer.
> + * \param opaque User data for use in the callbacks.
> + *
> + * \return 0 on success, negative errno-style code in failure.
>   */
> -int rdline_init(struct rdline *rdl,
> -              rdline_write_char_t *write_char,
> -              rdline_validate_t *validate,
> -              rdline_complete_t *complete);
> +__rte_experimental
> +struct rdline *rdline_new(rdline_write_char_t *write_char,
> +                       rdline_validate_t *validate,
> +                       rdline_complete_t *complete,
> +                       void *opaque);

The API documentation was not updated after the v4 changes.

Apart from this, LGTM, you can directly add my ack in the next version.

Thanks,
Olivier

Reply via email to