|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] libxl: Update the documentation of libxl_xen_console_read_line()
commit 87b307ff1de8f5f261eb7c9b94d370fc08e1983e
Author: Javi Merino <javi.merino@xxxxxxxxx>
AuthorDate: Mon Sep 2 17:38:39 2024 +0100
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Tue Sep 3 10:53:44 2024 +0100
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>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
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 f5c7167742..8d32428ea9 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 6c4414fcc1..044ca64676 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;
}
}
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |