[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH v3 3/3] libxl: Update the documentation of libxl_xen_console_read_line()
Despite its name, libxl_xen_console_read_line() does not read a line, it fills the buffer with as many characters as fit. Update the documentation to reflect the real behaviour of the function. Rename line_r to avoid confusion since it is a pointer to an array of characters. Signed-off-by: Javi Merino <javi.merino@xxxxxxxxx> --- tools/include/libxl.h | 2 +- tools/libs/light/libxl_console.c | 29 ++++++++++++++++++----------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/tools/include/libxl.h b/tools/include/libxl.h index f5c71677424b..8d32428ea9fe 100644 --- a/tools/include/libxl.h +++ b/tools/include/libxl.h @@ -2813,7 +2813,7 @@ libxl_xen_console_reader * libxl_xen_console_read_start(libxl_ctx *ctx, int clear); int libxl_xen_console_read_line(libxl_ctx *ctx, libxl_xen_console_reader *cr, - char **line_r); + char **buff); void libxl_xen_console_read_finish(libxl_ctx *ctx, libxl_xen_console_reader *cr); diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c index 6c4414fcc1a2..044ca646765a 100644 --- a/tools/libs/light/libxl_console.c +++ b/tools/libs/light/libxl_console.c @@ -792,17 +792,24 @@ libxl_xen_console_reader * return cr; } -/* return values: *line_r - * 1 success, whole line obtained from buffer non-0 - * 0 no more lines available right now 0 - * negative error code ERROR_* 0 - * On success *line_r is updated to point to a nul-terminated - * string which is valid until the next call on the same console - * reader. The libxl caller may overwrite parts of the string - * if it wishes. */ +/* + * Copy part of the console ring into a buffer + * + * Return values: + * 1: Success, *buff points to the string + * 0: No more lines available right now + * -ERROR_* on error + * + * Despite its name, libxl_xen_console_read_line() does not + * necessarily read a complete line. It attempts to fill the buffer + * with as many characters as it can accommodate. The buffer pointed + * to by *buff is updated to contain a nul-terminated string. This + * string remains valid until the next call to + * libxl_xen_console_read_line() on the same console reader. + */ int libxl_xen_console_read_line(libxl_ctx *ctx, libxl_xen_console_reader *cr, - char **line_r) + char **buff) { int ret; /* @@ -823,10 +830,10 @@ int libxl_xen_console_read_line(libxl_ctx *ctx, if (!ret) { if (nr_chars) { cr->buffer[nr_chars] = '\0'; - *line_r = cr->buffer; + *buff = cr->buffer; ret = 1; } else { - *line_r = NULL; + *buff = NULL; ret = 0; } } -- 2.45.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |