* [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
@ 2008-08-26 16:17 Samuel Thibault
2008-08-26 16:34 ` Daniel P. Berrange
0 siblings, 1 reply; 3+ messages in thread
From: Samuel Thibault @ 2008-08-26 16:17 UTC (permalink / raw)
To: xen-devel
mini-os: make xenbus_read_integer and xenbus_printf take const strings
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
diff -r c2472ded5c7c extras/mini-os/include/xenbus.h
--- a/extras/mini-os/include/xenbus.h Tue Aug 26 15:16:57 2008 +0100
+++ b/extras/mini-os/include/xenbus.h Tue Aug 26 17:06:09 2008 +0100
@@ -83,12 +83,12 @@ char *xenbus_transaction_end(xenbus_tran
int *retry);
/* Read path and parse it as an integer. Returns -1 on error. */
-int xenbus_read_integer(char *path);
+int xenbus_read_integer(const char *path);
/* Contraction of snprintf and xenbus_write(path/node). */
char* xenbus_printf(xenbus_transaction_t xbt,
- char* node, char* path,
- char* fmt, ...);
+ const char* node, const char* path,
+ const char* fmt, ...);
/* Reset the XenBus system. */
void fini_xenbus(void);
diff -r c2472ded5c7c extras/mini-os/xenbus/xenbus.c
--- a/extras/mini-os/xenbus/xenbus.c Tue Aug 26 15:16:57 2008 +0100
+++ b/extras/mini-os/xenbus/xenbus.c Tue Aug 26 17:06:09 2008 +0100
@@ -633,7 +633,7 @@ xenbus_transaction_end(xenbus_transactio
return NULL;
}
-int xenbus_read_integer(char *path)
+int xenbus_read_integer(const char *path)
{
char *res, *buf;
int t;
@@ -650,8 +650,8 @@ int xenbus_read_integer(char *path)
}
char* xenbus_printf(xenbus_transaction_t xbt,
- char* node, char* path,
- char* fmt, ...)
+ const char* node, const char* path,
+ const char* fmt, ...)
{
#define BUFFER_SIZE 256
char fullpath[BUFFER_SIZE];
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
2008-08-26 16:17 [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings Samuel Thibault
@ 2008-08-26 16:34 ` Daniel P. Berrange
2008-08-26 16:42 ` Samuel Thibault
0 siblings, 1 reply; 3+ messages in thread
From: Daniel P. Berrange @ 2008-08-26 16:34 UTC (permalink / raw)
To: Samuel Thibault, xen-devel
On Tue, Aug 26, 2008 at 05:17:02PM +0100, Samuel Thibault wrote:
> mini-os: make xenbus_read_integer and xenbus_printf take const strings
>
> Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
>
> diff -r c2472ded5c7c extras/mini-os/include/xenbus.h
> --- a/extras/mini-os/include/xenbus.h Tue Aug 26 15:16:57 2008 +0100
> +++ b/extras/mini-os/include/xenbus.h Tue Aug 26 17:06:09 2008 +0100
> @@ -83,12 +83,12 @@ char *xenbus_transaction_end(xenbus_tran
> int *retry);
>
> /* Read path and parse it as an integer. Returns -1 on error. */
> -int xenbus_read_integer(char *path);
> +int xenbus_read_integer(const char *path);
>
> /* Contraction of snprintf and xenbus_write(path/node). */
> char* xenbus_printf(xenbus_transaction_t xbt,
> - char* node, char* path,
> - char* fmt, ...);
> + const char* node, const char* path,
> + const char* fmt, ...);
If you annotate that declaration with
__attribute__ ((__format__ (printf, 4, 3)))
then gcc will warn you any time a caller gives incorrect args vs
format string, which can catch some otherwise hidden bugs.
Regards,
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
2008-08-26 16:34 ` Daniel P. Berrange
@ 2008-08-26 16:42 ` Samuel Thibault
0 siblings, 0 replies; 3+ messages in thread
From: Samuel Thibault @ 2008-08-26 16:42 UTC (permalink / raw)
To: Daniel P. Berrange; +Cc: xen-devel
Daniel P. Berrange, le Tue 26 Aug 2008 17:34:37 +0100, a écrit :
> If you annotate that declaration with
>
> __attribute__ ((__format__ (printf, 4, 3)))
>
> then gcc will warn you any time a caller gives incorrect args vs
> format string, which can catch some otherwise hidden bugs.
Indeed, actually all mini-os's *print* functions should have it, IIRC
there are a lot of fixes needed to have this compile with -Werror :)
Samuel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-08-26 16:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-26 16:17 [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings Samuel Thibault
2008-08-26 16:34 ` Daniel P. Berrange
2008-08-26 16:42 ` Samuel Thibault
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.