[libvirt] [PATCHv2 01/13] virbuf: fix const-correctness
Hai Dong Li
haidongl at linux.vnet.ibm.com
Mon Oct 17 11:20:45 UTC 2011
On 09/30/2011 12:22 AM, Eric Blake wrote:
> Although the compiler wasn't complaining (since it was the pointer,
> rather than what was being pointed to, that was actually const), it
> looks quite suspicious to call a function with an argument labeled
> const when the nature of the pointer (virBufferPtr) is hidden behind
> a typedef. Dropping const makes the function declarations easier
> to read.
>
> * src/util/buf.h: Drop const from all functions that modify buffer
> argument.
> * src/util/buf.c (virBufferSetError, virBufferAdd)
> (virBufferContentAndReset, virBufferFreeAndReset)
> (virBufferAsprintf, virBufferVasprintf, virBufferEscapeString)
> (virBufferEscapeSexpr): Fix fallout.
> ---
> src/util/buf.c | 28 ++++++++++++++--------------
> src/util/buf.h | 22 ++++++++++++----------
> 2 files changed, 26 insertions(+), 24 deletions(-)
>
> diff --git a/src/util/buf.c b/src/util/buf.c
> index 5002486..c737696 100644
> --- a/src/util/buf.c
> +++ b/src/util/buf.c
> @@ -39,7 +39,7 @@ struct _virBuffer {
> * freeing the content and setting the error flag.
> */
> static void
> -virBufferSetError(const virBufferPtr buf)
> +virBufferSetError(virBufferPtr buf)
> {
> VIR_FREE(buf->content);
> buf->size = 0;
> @@ -113,7 +113,7 @@ virBufferAdd(const virBufferPtr buf, const char *str, int len)
>
Maybe a typo here?The virBufferPtr still remains const, but the
declaration of this function in the buf.h shows this const is removed, too.
> /**
> * virBufferAddChar:
> - * @buf: the buffer to add to
> + * @buf: the buffer to append to
> * @c: the character to add
> *
> * Add a single character 'c' to a buffer.
> @@ -150,7 +150,7 @@ virBufferAddChar (virBufferPtr buf, char c)
> * Returns the buffer content or NULL in case of error.
> */
> char *
> -virBufferContentAndReset(const virBufferPtr buf)
> +virBufferContentAndReset(virBufferPtr buf)
> {
> char *str;
> if (buf == NULL)
> @@ -172,7 +172,7 @@ virBufferContentAndReset(const virBufferPtr buf)
> *
> * Frees the buffer content and resets the buffer structure.
> */
> -void virBufferFreeAndReset(const virBufferPtr buf)
> +void virBufferFreeAndReset(virBufferPtr buf)
> {
> char *str = virBufferContentAndReset(buf);
>
> @@ -214,14 +214,14 @@ virBufferUse(const virBufferPtr buf)
>
> /**
> * virBufferAsprintf:
> - * @buf: the buffer to dump
> + * @buf: the buffer to append to
> * @format: the format
> * @...: the variable list of arguments
> *
> * Do a formatted print to an XML buffer.
> */
> void
> -virBufferAsprintf(const virBufferPtr buf, const char *format, ...)
> +virBufferAsprintf(virBufferPtr buf, const char *format, ...)
> {
> va_list argptr;
> va_start(argptr, format);
> @@ -238,7 +238,7 @@ virBufferAsprintf(const virBufferPtr buf, const char *format, ...)
> * Do a formatted print to an XML buffer.
> */
> void
> -virBufferVasprintf(const virBufferPtr buf, const char *format, va_list argptr)
> +virBufferVasprintf(virBufferPtr buf, const char *format, va_list argptr)
> {
> int size, count, grow_size;
> va_list copy;
> @@ -285,7 +285,7 @@ virBufferVasprintf(const virBufferPtr buf, const char *format, va_list argptr)
>
> /**
> * virBufferEscapeString:
> - * @buf: the buffer to dump
> + * @buf: the buffer to append to
> * @format: a printf like format string but with only one %s parameter
> * @str: the string argument which need to be escaped
> *
> @@ -293,7 +293,7 @@ virBufferVasprintf(const virBufferPtr buf, const char *format, va_list argptr)
> * is escaped to avoid generating a not well-formed XML instance.
> */
> void
> -virBufferEscapeString(const virBufferPtr buf, const char *format, const char *str)
> +virBufferEscapeString(virBufferPtr buf, const char *format, const char *str)
> {
> int len;
> char *escaped, *out;
> @@ -370,7 +370,7 @@ virBufferEscapeString(const virBufferPtr buf, const char *format, const char *st
>
> /**
> * virBufferEscapeSexpr:
> - * @buf: the buffer to dump
> + * @buf: the buffer to append to
> * @format: a printf like format string but with only one %s parameter
> * @str: the string argument which need to be escaped
> *
> @@ -379,7 +379,7 @@ virBufferEscapeString(const virBufferPtr buf, const char *format, const char *st
> * doesn't fully escape the sexpr, just enough for our code to work.
> */
> void
> -virBufferEscapeSexpr(const virBufferPtr buf,
> +virBufferEscapeSexpr(virBufferPtr buf,
> const char *format,
> const char *str)
> {
> @@ -426,7 +426,7 @@ virBufferEscapeSexpr(const virBufferPtr buf,
>
> /**
> * virBufferURIEncodeString:
> - * @buf: the buffer to append to
> + * @buf: the buffer to append to
> * @str: the string argument which will be URI-encoded
> *
> * Append the string to the buffer. The string will be URI-encoded
> @@ -434,7 +434,7 @@ virBufferEscapeSexpr(const virBufferPtr buf,
> * with '%xx' hex sequences).
> */
> void
> -virBufferURIEncodeString (virBufferPtr buf, const char *str)
> +virBufferURIEncodeString(virBufferPtr buf, const char *str)
> {
> int grow_size = 0;
> const char *p;
> @@ -473,7 +473,7 @@ virBufferURIEncodeString (virBufferPtr buf, const char *str)
>
> /**
> * virBufferStrcat:
> - * @buf: the buffer to dump
> + * @buf: the buffer to append to
> * @...: the variable list of strings, the last argument must be NULL
> *
> * Concatenate strings to an XML buffer.
> diff --git a/src/util/buf.h b/src/util/buf.h
> index 06d01ba..42a5044 100644
> --- a/src/util/buf.h
> +++ b/src/util/buf.h
> @@ -36,21 +36,23 @@ struct _virBuffer {
> };
> # endif
>
> -char *virBufferContentAndReset(const virBufferPtr buf);
> -void virBufferFreeAndReset(const virBufferPtr buf);
> +char *virBufferContentAndReset(virBufferPtr buf);
> +void virBufferFreeAndReset(virBufferPtr buf);
> int virBufferError(const virBufferPtr buf);
> unsigned int virBufferUse(const virBufferPtr buf);
> -void virBufferAdd(const virBufferPtr buf, const char *str, int len);
> -void virBufferAddChar(const virBufferPtr buf, char c);
> -void virBufferAsprintf(const virBufferPtr buf, const char *format, ...)
> +void virBufferAdd(virBufferPtr buf, const char *str, int len);
> +void virBufferAddChar(virBufferPtr buf, char c);
> +void virBufferAsprintf(virBufferPtr buf, const char *format, ...)
> ATTRIBUTE_FMT_PRINTF(2, 3);
> -void virBufferVasprintf(const virBufferPtr buf, const char *format, va_list ap)
> +void virBufferVasprintf(virBufferPtr buf, const char *format, va_list ap)
> ATTRIBUTE_FMT_PRINTF(2, 0);
> -void virBufferStrcat(const virBufferPtr buf, ...)
> +void virBufferStrcat(virBufferPtr buf, ...)
> ATTRIBUTE_SENTINEL;
> -void virBufferEscapeString(const virBufferPtr buf, const char *format, const char *str);
> -void virBufferEscapeSexpr(const virBufferPtr buf, const char *format, const char *str);
> -void virBufferURIEncodeString (const virBufferPtr buf, const char *str);
> +void virBufferEscapeString(virBufferPtr buf, const char *format,
> + const char *str);
> +void virBufferEscapeSexpr(virBufferPtr buf, const char *format,
> + const char *str);
> +void virBufferURIEncodeString(virBufferPtr buf, const char *str);
>
> # define virBufferAddLit(buf_, literal_string_) \
> virBufferAdd (buf_, "" literal_string_ "", sizeof literal_string_ - 1)
More information about the libvir-list
mailing list